当站点网址未知时,使用.htaccess重定向到自定义404错误页面

时间:2013-06-11 18:26:02

标签: .htaccess

我正在使用.htaccess文件来获取用户友好的网址,例如:

mysite的/约

mysite的/物品/ some_article 等

一切正常,但现在我必须向我的.htaccess文件添加重定向到自定义404页面: mysite的/错误-404

出于测试目的,我这样做了:

ErrorDocument 404 http://mysite/error-404

它既可以在localhost上运行,也可以在“实时”测试站点上运行。

问题是我不知道网站的网址是什么,或者它是在根文件夹中还是在

这样的子文件夹中
http://somesite/mysite

如何将重定向重写为404页以使其具有通用性?是否有可能获得站点文件夹的完整URL(无论是/ mysite /)并写下这样的重定向:

ErrorDocument 404 {http://whatever/mysite/}error-404

2 个答案:

答案 0 :(得分:1)

我将此添加到我的.htaccess文件中,它隐藏了404页面并将它们重定向回域的根目录

RewriteEngine On
ErrorDocument 404 /error
RewriteRule ^error$ / [R]

答案 1 :(得分:0)

您可以使用正在进行的斜杠,而不是声明URL。

例如:

ErrorDocument 400 /error-404

这将始终从http://domain.com/error-404抓取页面,但网址将保留为他们尝试访问的404ing网址。

您唯一需要确定的是您的404页面位于域根目录中!