0

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

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 内部服务器错误”。

有谁知道我做错了什么?

谢谢!

4

1 回答 1

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

谢谢!

于 2012-11-23T18:00:35.883 回答