.htaccess显示重写的404页面?

时间:2012-11-23 15:40:38

标签: .htaccess redirect http-status-code-404

我有一个基本上“删除”Web浏览器中文件扩展名的.htaccess文件(从example.php到示例)。这是代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

基本上,如果找不到文件(about),它会添加.php扩展名(about.php)。我想(如果仍未找到该文件)将用户重定向到404.php。因此,如果用户加载/ page1,并且page1.php不存在,则会重定向到404页面。我将此代码添加到.htaccess:

ErrorDocument 404 /404.php

就其本身而言,此代码将重定向到404页面。但是当我拥有整个代码时......

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

ErrorDocument 404 /CWTC/404.php

...它只显示“500内部服务器错误”。

有谁知道我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

这解决了我的问题:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]

ErrorDocument 404 /404.php

谢谢!