当我尝试使用我的Apache服务器上的.htaccess文件从我的所有文件中删除我的PHP扩展时,一切正常。扩展名被删除了,一切看起来都好多了。Mod_Rewrite扩展删除更改功能404
但是,我遇到了一个小问题:当我通常会转到诸如./nonexistent.php
之类的页面时,我会收到404错误。但是,当我重写我的网址时,我转到./nonexistent
,而是收到500 Internal Server Error
。
理想情况下,我想简单地将用户重定向到自定义的“找不到页面”页面,但目前我无法找到一种方法来执行此操作。
下面是我使用的代码:
Options -MultiViews
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
我试过设置:ErrorDocument 500 /nope
然而,这似乎不有效果无论是。
因此,总结一下,有没有人知道如何重写扩展,同时保持默认的“Page Not Found”系统的功能不变?
drew010,你是对的,另一个答案是实用的,因为它解决了我的问题,但实际上并没有解决它。 – elliottbolzan 2012-03-25 22:13:21
如果你检查你的Apache'error_log',你会看到500错误的确切原因。如果您的网站非常繁忙,那么您将会写入很多错误日志,并使其不必要地增长,从而难以发现和调试实际错误。看看这是否也有帮助。 – drew010 2012-03-25 22:14:39
感谢您的帮助,非常感谢。 – elliottbolzan 2012-03-25 22:15:07