好的,所以我有一个文件结构设置,我的所有页面都设置在一个名为pages的文件夹中。
我需要htaccess重定向,以便example.com/page1
转到example.com/page/page1.php
。
所以,我使用了下面的.htaccess
。我的问题是,当我有这个设置时,我得到一个500错误,而不是出现自定义404错误页面。
AllowOverride All
ErrorDocument 404 /pages/404.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /pages/$1.php [L]
有关我做错的任何建议吗?
答案 0 :(得分:0)
AllowOverride
不允许在那里,您应该将其嵌入<Directory>
部分。另请参阅Apache manual。
<Directory /path/to/my/directory>
AllowOverride All
</Directory>
答案 1 :(得分:0)
用以下内容替换您的规则:
AllowOverride All
ErrorDocument 404 /pages/404.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/pages/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /pages/$1.php [L]