父目录中的.htaccess导致子目录中的ErrorDocument无法正常工作

时间:2017-01-25 15:49:31

标签: php wordpress .htaccess http-status-code-404

我有一个指向其自己域的子目录,所以我希望它有自己的404页面。子目录中的.htaccess读取:

ErrorDocument 404 /subdirectory/404.html

我觉得这应该有用,但是有问题。父目录安装了wordpress,因此.htaccess如下

# Use PHP5.4 Single php.ini as default
AddHandler application/x-httpd-php54s .php

# 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
# Set PHP handler to application/x-httpd-phpbeta on Mon Jan 11 15:10:53 MST 2016.

如果子目录中有index.php,则用作404页面。否则,我会得到500错误,无论子文件夹中的.htaccess是否存在。是什么阻止了我的.htaccess工作?

1 个答案:

答案 0 :(得分:0)

您需要在RewriteEngine On中添加/subdirectory/.htaccess行以覆盖父目录的重写规则。您的/subdirectory/.htaccess会变成这样:

ErrorDocument 404 /subdirectory/404.html

RewriteEngine On