使用HTAccess覆盖404页面

时间:2015-11-04 作者:mele

我现在有一个404。php页面来自我正在使用的某个主题,但我想覆盖任何关于404错误的WP foncutionaly。

我想通过设置404错误处理程序。htaccess,但由于某些原因,wordpress仍在其404页上提供服务。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
**ErrorDocument 404 /home/username/public_html/my404page.php?next=**
</IfModule>
# END WordPress

1 个回复
SO网友:Tobias Beuving

据我所知,不可能使用自定义404ErrorDocument 由于WordPress的索引,您的htaccess文件中的指令。在处理htaccess内容时,总会找到php。(除非ofcourse index.php因某种原因被删除)

因为索引。如果找到php,则不会触发“404未找到”ErrorDocument 指令。这个ErrorDocument 因此,将忽略指令。

也就是说,如果您坚持使用WordPress生成的htaccess代码(我强烈推荐)。

可以不使用WordPress生成的访问规则,但需要您自己编写永久链接等处理规则。

我在一个项目中做到了这一点,在这个项目中,我几乎完全将WordPress与前端分离,但我不建议对大约98%的用例这样做。:-)

相关推荐

如何在我的根域上组合WordPress htaccess+在子文件夹上组合php

我为一个看似重复的问题道歉,但我所看到的几十个问题中,没有一个是同样的问题。我有以下目录结构:/.htaccess /index.php /subfolder/.htaccess /subfolder/index.php 我希望所有页面请求都由/index.php, 除非请求启动/subfolder 在这种情况下,应由/subfolder/index.php.e、 g。/abc 将重写为/subfolder/abce、 g。/subfolder/def 将重写为/subf