我使用。htaccess文件来获取用户友好的url,如:
mysite/关于
mysite/文章/some_article等。
一切正常,但现在我必须添加到我的。htaccess文件重定向到自定义404页:mysite/错误- 404
出于测试目的,我这样做:
ErrorDocument 404 http://mysite/error-404
,它既可以在本地主机上工作,也可以在"实时"测试站点上工作。
问题是我不知道网址是什么甚至不知道它是在根文件夹还是在子文件夹,比如
http://somesite/mysite
我如何重写重定向到404页使其通用?是否有可能获得站点文件夹的完整url(无论/mysite/)并像这样编写重定向:
ErrorDocument 404 {http://whatever/mysite/}error-404
我将这个添加到我的。htaccess文件中,它隐藏了404页面并将它们重定向回域的根目录
RewriteEngine On
ErrorDocument 404 /error
RewriteRule ^error$ / [R]
你可以直接使用斜杠而不声明URL。
例如:ErrorDocument 400 /error-404
这将始终从http://domain.com/error-404
抓取页面,尽管URL将保持为他们试图访问的404ing URL。
您唯一需要确定的是,您的404页面是在域名根!