如果页面不存在,htaccess 回退到基本 URL (404)

htaccess to fallback to a base URL if page doesn't exist (404)

提问人:Chimpster 提问时间:10/26/2023 最后编辑:Chimpster 更新时间:10/26/2023 访问量:17

问:

我有以下情况,在CMS中,我有以下页面

foo.com/jobs/2023/- 基本页面列出工作
- 单个帖子与作业开启
- 单个帖子与作业开启
- 此页面返回 404 响应代码
foo.com/jobs/2023/job-1foo.com/jobs/2023/job-2foo.com/jobs/2023/job-3

我将如何重定向最后一个链接(404 的)到但保留第一个和第二个链接,以转到正确的帖子。foo.com/jobs/2023/

我已经尝试了以下方法,但是当我在开发服务器上测试它时,它出现了 500 个错误。

RewriteRule ^/jobs/2023/$ /jobs/2023/ [L,R=301]

以前也通过PHP完成,尽管我需要在负载均衡器上的.htaccess级别完成。

当前 .htaccess 文件如下所示

RewriteEngine On
## Redirect last years jobs to this years.
RewriteRule ^/jobs/2022(/?.*)$ /jobs/2023$1 [R=301,L]
Apache .htaccess 重定向 mod-rewrite url-rewriting

评论

0赞 anubhava 10/26/2023
是否指向实际文件或某些控制器?你能发布完整的 .htaccess 吗?/jobs/2023/job-1/jobs/2023/job-2
0赞 Chimpster 10/26/2023
@anubhava 它们指向 Wordpress 应用程序中的控制器。目前 .htaccess 中没有太多内容,我今天只是引导它。RewriteEngine On RewriteRule ^/jobs/2022(/?.*)$ /jobs/2023$1 [R=301,L]
0赞 anubhava 10/26/2023
这需要在 Wordpress 中处理,而不是在 .htaccess 中处理。只有 WP 处理程序知道 URL 是 404

答: 暂无答案