解析 404 url​​ 并使用 nginx 重定向

Posted

技术标签:

【中文标题】解析 404 url​​ 并使用 nginx 重定向【英文标题】:Parse 404 url and redirect with nginx 【发布时间】:2018-03-24 08:57:08 【问题描述】:

我正在尝试从我的论坛中删除一个 seo 插件,我有很多 404 个页面要处理。

旧的网址结构是:

http://example.com/board/technical-advice/something-interesting-t2824-15.html

...而新的是:

http://example.com/board/viewtopic.php?t=2824

所以我想解析进入 /board 文件夹的所有 404 url​​,并将它们重定向到新结构。

是否可以在我的 nginx 配置中执行此操作?如果有怎么办?还是有更好的地方?

【问题讨论】:

我认为这可以通过.htaccess中的301 redirect来完成 使用您的 .htaccess 将 URL 重定向规则永久写入新的 URL 结构 我宁愿在数据库中做一个替换。或者 - 如果您使用现有的 CMS - 看看那里的路由。 nginx 小伙子的。 NGINX,里面没有.htaccess 正如@UnamataSanatarai 指出的那样,nginx 没有 htaccess,而在 apache 中的 htaccess 中会做什么,就是我在 nginx 中寻找的东西 【参考方案1】:

如果这只是您需要做的一种格式,那么您可以在下面使用

http://example.com/board/technical-advice/something-interesting-t2824-15.html http://example.com/board/viewtopic.php?t=2824

rewrite "^/board/[^/]+/[a-z0-9-]t(\d+).*\.html$" /board/viewtopic.php?t=$1 redirect;

如果有很多重定向,那么您应该使用@RichardSmith 在下面文章的 cmets 中建议的方法

Nginx rewrite urls with special characters

【讨论】:

以上是关于解析 404 url​​ 并使用 nginx 重定向的主要内容,如果未能解决你的问题,请参考以下文章

vue刷新某个路由就404了 是否服务器还要配置啥

带有 nginx 和 https 的闪亮服务器:应用程序的 404

宝塔服务器配置nginx刷新404的问题汇总

前后端分离代码,前端刷新404,调整nginx.conf实现URL重写

nginx 配置报404 问题排查

nginx解决vue路由history模式刷新404问题