那么多的 404 页面,你都见过吗?

本文展示了一系列知名网站的404页面设计,包括腾讯、网易等,体现了各网站独特的风格与创意。

来源 | 程序猿

编辑 | 短笛

文末高能

每天浏览各大网站,难免会碰到404页面啊。

你注意过404页面么?

下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意:


腾讯


网易


淘宝


新浪微博


新浪


京东


优酷


腾讯视频


搜狐


携程


去哪儿


今日头条


知乎


4399


37手游


网易严选


美团


饿了么


小米


魅族



苏宁


爱奇艺


猪八戒网


优快云


segmentfault.com


Google


YouTube


GitHub


stackoverflow


Reddit


Facebook


Amazon


Bing


slack.com


Airbnb


Dropbox


mashable.com



Virgin.com

福利

<think>我们正在处理用户关于若依前后端分离项目启动后登录页面出现系统接口404异常的问题。根据引用内容,我们可以总结出几个可能的排查方向:1.后端服务是否成功启动(端口配置、Redis配置等) 2.前端配置是否正确(特别是代理配置,是否指向正确的后端地址和端口)3.验证码接口异常可能是由于后端未启动或Redis连接问题根据引用[3],用户提到自己改过后端端口,所以需要检查前后端配置的端口是否一致。具体步骤:1.确认后端启动的端口(默认为8080,如果修改过,则查看application.yml中的server.port)2.检查前端配置(vue.config.js)中的代理设置(devServer.proxy)是否指向了正确的后端地址和端口3.检查Redis配置(后端application.yml中的redis配置)是否正确,因为验证码需要Redis存储另外,引用[2]提到前端启动命令,如果启动失败可以设置环境变量:set NODE_OPTIONS=--openssl-legacy-provider,但这里的问题主要是接口404,所以重点在前后端连接。 解决方案步骤: 1.确保后端服务已经启动,并且没有端口冲突(可以通过访问后端接口如http://localhost:8080来测试,具体端口根据你的配置)2.检查前端项目中`vue.config.js`文件的代理配置,确保target指向后端地址和端口,例如:```javascriptdevServer: {port:80,proxy: {'/prod-api':{target:'http://localhost:8080',//这里改为你的后端地址changeOrigin:true,pathRewrite:{'^/prod-api':''}}}}```注意:若依默认的前端代理前缀是`/prod-api`,如果后端端口改为其他(如8081),则target需要改为`http://localhost:8081`。 3.检查后端Redis配置,确保Redis服务已启动,并且配置正确(主机、端口、密码等)。验证码需要Redis,如果Redis连接失败,验证码接口会报错,但这里用户遇到的是404,所以先解决404问题,再考虑验证码问题。引用[3]中用户提到自己改过端口,所以重点检查前后端端口配置是否一致。 如果按照以上步骤检查后仍然有问题,可以尝试清除浏览器缓存或使用无痕模式,避免缓存导致的问题。 此外,引用[1]提到需要同时运行前后端,并且需要修改数据库和Redis配置,所以也要确保: -数据库服务已启动,并且后端配置的数据库连接正确(在application-druid.yml中) -Redis服务已启动,并且后端配置的Redis连接正确(在application.yml中) 总结排查步骤:1.后端端口配置是否正确?后端是否成功启动(查看控制台日志)? 2.前端代理配置的target是否与后端端口一致?3.Redis和数据库服务是否启动,配置是否正确?如果验证码接口出现500错误(引用[1]提到),可能是Redis配置问题,但当前是404,所以先解决404,即前后端连接问题。用户问题:登录页面出现系统接口404异常,验证码没有图片(验证码接口也是404?还是500?根据引用[1]提到验证码没有图片,接口500异常,但用户现在的问题是404,所以需要区分)。用户描述为“系统接口404异常”,所以重点在接口地址找不到,即前后端连接问题。因此,我们主要解决前后端连接问题,即代理配置或后端未启动。</think>### 解决若依前后端分离项目登录页面接口404异常 根据引用内容,接口404异常通常由前后端连接配置错误引起,以下是系统排查步骤: #### 🔍 核心排查步骤 1. **检查后端端口配置** - 打开后端配置文件 `ruoyi-admin/src/main/resources/application.yml` - 确认 `server.port` 端口号(默认为8080) ```yaml server: port: 8080 # 确保此处未被占用 ``` - 若修改过端口,需同步调整前端代理配置(见步骤2) 2. **检查前端代理配置** - 打开前端配置文件 `ruoyi-ui/vue.config.js` - 确认代理目标地址与后端端口一致: ```javascript devServer: { proxy: { '/prod-api': { // 请求前缀 target: `http://localhost:8080`, // 必须与后端端口一致 changeOrigin: true, pathRewrite: { '^/prod-api': '' // 路径重写规则 } } } } ``` 3. **验证后端服务状态** - 访问后端健康检查接口:`http://localhost:8080` - 正常应返回JSON数据(非404页面) - 若无法访问,检查: - 后端是否成功启动(控制台无报错) - 端口是否被占用(netstat -ano | findstr :8080) - 防火墙是否放行端口 4. **检查跨域配置(关键)** 在 `ruoyi-admin` 的 `WebMvcConfig` 类中确认: ```java @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") // 允许所有路径 .allowedOriginPatterns("*") // 允许所有源 .allowCredentials(true) .allowedMethods("*") // 允许所有方法 .maxAge(3600); } ``` #### ⚠️ 其他常见问题 1. **Redis连接失败**(引用[1]) - 检查 `application.yml` 中Redis配置: ```yaml redis: host: localhost port: 6379 password: # 无密码留空 database: 0 ``` - 启动Redis服务:`redis-server.exe` 2. **前端依赖问题**(引用[2]) - 删除 `node_modules` 后重新安装: ```bash npm cache clean --force npm install --registry=https://registry.npmmirror.com ``` 3. **验证码不显示**(引用[3]) - 接口404时验证码必然失败 - 解决404后若仍不显示,检查后端日志: - `CaptchaController` 是否正常映射 - Redis是否存储了验证码 #### ✅ 验证修复 1. 重启后端服务(确保控制台无报错) 2. 重启前端:`npm run dev` 3. 访问登录页,按F12打开控制台: - 查看网络请求中 `/prod-api/captchaImage` 的响应状态 - 成功时应返回200及验证码数据 > **重要提示**:若修改过Nginx配置,需确保反向代理指向正确后端地址[^1][^3]。 --- ### 📚 相关问题 1. 若依项目启动时如何解决数据库连接失败问题? 2. 如何配置若依前端使用自定义域名访问? 3. 若依验证码生成逻辑是如何实现的?[^1] 4. 前后端分离项目中如何调试跨域问题? 5. 若依框架中Redis的作用有哪些?[^1] [^1]: 验证码实现依赖Redis存储 [^2]: 前端依赖安装建议使用国内镜像 [^3]: 端口冲突是接口404的常见原因
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值