我在一个子文件夹中有一个站点,其中有一个工作非常好的.htaccess文件,但是如果规则找不到任何东西,它会引发500个内部服务器错误,而不是404,但是我想通过添加500个错误文档来解决它,但是500个错误页(除了经典的500个消息)说:
“此外,在试图使用ErrorDocument处理请求时,遇到了500个内部服务器错误。”
所以我有两个问题:
到目前为止这是我的.htaccess:
DirectorySlash On
RewriteEngine On
RewriteBase /mysubdir/
ErrorDocument 404 /mysubdir/404.php
ErrorDocument 500 /mysubdir/500.php
RewriteRule ^folderexcludedone(/|$) - [NC,L]
RewriteRule ^folderexcludedtwo(/|$) - [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)$ $1/ [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ $1.php [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]*)/?$ $1.php?$1=$2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]*)/?$ $1.php?$2=$3 [L,QSA]发布于 2014-01-26 13:28:38
尝试以下规则:
DirectorySlash On
RewriteEngine On
RewriteBase /mysubdir/
ErrorDocument 404 /mysubdir/404.php
RewriteRule ^(folderexcludedone|folderexcludedtwo)(/|$) - [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)$ $1/ [L,R]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME}.php !-f
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/?$ $1.php [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ $1.php?$1=$2 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ $1.php?$2=$3 [L,QSA]https://stackoverflow.com/questions/21363934
复制相似问题