You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.htaccess配置:将404职位子页面重定向至2023职位列表页

问题解决:404职位详情页重定向至列表页

背景说明

现有页面情况:

  • foo.com/jobs/2023/ - 职位列表基准页
  • foo.com/jobs/2023/job-1 - 有效职位详情页
  • foo.com/jobs/2023/job-2 - 有效职位详情页
  • foo.com/jobs/2023/job-3 - 返回404错误页面

需求:将返回404的job-3链接重定向至foo.com/jobs/2023/,同时确保前两个有效详情页可正常访问。

此前错误尝试

曾使用以下规则,触发500服务器错误:

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

当前.htaccess内容

RewriteEngine On
## Redirect last years jobs to this years.
RewriteRule ^/jobs/2022(/?.*)$ /jobs/2023$1 [R=301,L]

解决方案

添加规则判断请求的职位详情页是否存在,不存在则重定向至列表页。修改后的完整.htaccess配置如下:

RewriteEngine On

## Redirect last years jobs to this years.
RewriteRule ^/jobs/2022(/?.*)$ /jobs/2023$1 [R=301,L]

## Redirect non-existent job detail pages to the jobs list
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/jobs/2023/([^/]+)$ /jobs/2023/ [R=301,L]

规则说明

  • RewriteCond %{REQUEST_FILENAME} !-f:检查请求路径不是已存在的文件
  • RewriteCond %{REQUEST_FILENAME} !-d:检查请求路径不是已存在的目录
  • RewriteRule ^/jobs/2023/([^/]+)$ /jobs/2023/ [R=301,L]:匹配/jobs/2023/下的子路径(即职位详情页格式),若满足上述两个不存在条件,则永久重定向至列表页;L标记确保后续规则不再执行,避免冲突。

此前的错误规则因将列表页重定向至自身,导致循环请求,引发500错误。新规则仅针对列表页下的子路径生效,不会干扰有效页面或列表页本身。

内容的提问来源于stack exchange,提问作者Chimpster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:42:47