在我的本地(WAMP)服务器中:
我有这个.htaccess文件
Options +FollowSymLinks
RewriteEngine On
ErrorDocument 404 /views/oops.php
ErrorDocument 500 /views/oops.php
ErrorDocument 400 /views/oops.php
在我的httpd.conf中,这一行是未注释的
LoadModule rewrite_module modules/mod_rewrite.so
HTACCESS文件位于应用程序根文件夹中。当我访问此网址时:
localhost/mywebapp/views/home.php
它完美无缺,显示主页。如果我输入类似
的内容localhost/mywebapp/views/thisdoesnotexist OR localhost/mywebapp/thisdoesnotexist
我希望它向我展示我的错误页面,但它显示的是默认和丑陋的错误页面。
事先谢谢你。
编辑:这是它在错误上显示的内容
Not Found
The requested URL /myapp/thisdoesnotexist was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
答案 0 :(得分:2)
我猜测oops.php
文件实际上在mywebapp文件夹中,而不是文档根目录。 ErrorDocument
指令采用的路径是绝对URL,而不是相对于htaccess文件所在的路径。因此,您需要确保路径指向错误文档的实际位置:
ErrorDocument 404 /mywebapp/views/oops.php
ErrorDocument 500 /mywebapp/views/oops.php
ErrorDocument 400 /mywebapp/views/oops.php