MODX中404页面重定向失效问题求助
解决404页面跳主页而非指定页面的问题
检查系统站点核心配置
确认系统「site」板块中,除填写404资源ID外,需找到「未找到页面处理」相关选项,确保未设置为「跳转至主页」,而是选择「使用指定的404页面」。部分CMS会默认将未知请求路由到主页,需手动切换为自定义404页面模式。验证.htaccess规则有效性
- 确保404规则格式正确,示例:
路径需与你的404页面实际位置匹配(根目录用ErrorDocument 404 /404.html/404.html,子目录用/subdir/404.html)。 - 确认服务器允许读取.htaccess:检查Apache配置文件(httpd.conf/apache2.conf)中对应目录的
AllowOverride设为All,否则.htaccess规则不会生效。可通过在.htaccess中添加无效代码(如TestRule)测试,若访问站点报错则说明.htaccess被正常读取。
- 确保404规则格式正确,示例:
调整URL重写规则优先级
如果系统使用了URL重写(如CMS伪静态规则),需确保重写规则仅在文件/目录不存在时才生效,避免覆盖404逻辑。示例规则:RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]这样只有当请求的资源确实不存在时,才会导向系统入口文件,此时系统配置的404页面才能正常触发。
清除缓存
浏览器缓存或服务器缓存可能导致新配置不生效:清空浏览器缓存,或重启Apache/Nginx服务;若使用CDN,也需刷新CDN缓存。检查服务器全局配置
查看Apache主配置文件中的全局ErrorDocument设置,避免全局规则覆盖了.htaccess或系统的404配置。若存在ErrorDocument 404 /index.html这类规则,需修改为指向你的404页面。
内容的提问来源于stack exchange,提问作者Serj
相关产品推荐
相关产品推荐

