所以我知道这可能看起来有点奇怪,但我为了一致性,我想我所有的网址出现在这种形式:
http://example.com/page/
到目前为止,我已经得到了正常的页面工作,但我似乎不能得到错误页面正常工作。
如果用户访问的页面或目录不存在,我希望浏览器硬重定向到:
http://example.com/404/
但是,这个目录实际上并不存在。错误页的真实的位置将位于
/pages/errors/404.php
此外,虽然我不需要一个确切的答案,所有的各种错误(400,401,403,404,500),我将应用任何方法是重定向所有这些到他们的“适当的”URL的,如。
http://example.com/400/
http://example.com/500/
等等。
有什么想法吗?
4条答案
按热度按时间1tu0hz3e1#
在.htaccess中尝试以下操作:
.htaccess文件系统
ErrorDocument
将所有404重定向到特定的URL,将所有500重定向到另一个URL(替换为您的域)。Rewrite规则将该URLMap到实际的404.php脚本。如果您愿意,RewriteCond正则表达式可以变得更通用,但我认为您必须显式定义所有要覆盖的ErrorDocument代码。
本地重定向:
将.htaccess ErrorDocument更改为存在的文件(必须存在,否则会出现错误):
404错误提示-页面未找到
根据错误号重定向
看起来您需要在.htaccess中为每个要重定向的错误指定一个
ErrorDocument
行(请参见:上面的**.htaccess**示例中有多个示例。您可以使用下面的脚本作为通用重定向脚本来替换上面的404_redirect.php。错误_重定向.php
p8ekf7hl2#
将此代码放入**.htaccess**文件中
其中
404.php
是file name
和放在根处。您可以将full path
放在这里。zynd9foi3#
尝试将此规则添加到htaccess的 top:
然后根据该规则(或您拥有的任何其他规则):
iyfjxgzm4#
在.htaccess文件中,如果使用的是apache,可以尝试使用
页面未找到- 404
错误文档404 http://www.domain.com/notFound.html