我有一个永久链接设置为 /%category%/%postname%.html 的 Wordpress 网站。当我访问一个不存在的页面时,比如说 example.com/non-existing-post,Wordpress 301 重定向到主页而不是显示主题包内的 404.php 页面。下面是htaccess代码;
AuthName "protect"
AuthUserFile "/home/sitename/.htpasswds/public_html/passwd"
suPHP_ConfigPath /home/sitename/public_html/
# 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]
</IfModule>
# END WordPress
当我尝试禁用自定义永久链接结构时,它返回错误 404 但不是我喜欢的 404.php 页面(我猜是正常的 Apache 错误)。
关于这个“bug”已经有很多类似的讨论了,请看下面的链接。所有这些似乎都没有得到解决。:(
http://wordpress.org/support/topic/404-pages-not-working-1
http://wordpress.org/support/topic/404-pages-not-working
是什么导致 Wordpress 自动 301 重定向应该显示 404 错误的页面?
更新(2013 年 2 月 21 日) - 问题仍然存在。我认为这是 wordpress 核心中的一个错误,涉及“漂亮的永久链接”重定向。
我仍然想解决这个问题,因为我有一些 Wordpress 网站有这个问题,而且我认为其他人在他们的网站上遇到了同样的错误。