我正在尝试为我的网站制作一个自定义404页面并且在使用此规则的根目录中有.htaccess
个文件
ErrorDocument 404 404.php //I want to redirect to 404
因此,当我将home.php
这样的有效文件名更改为home1.php
时,它不会重定向我,而是在该页面上回显404.php
旁注:404.php
仅在根目录中
答案 0 :(得分:25)
这应该这样做
RewriteEngine on
ErrorDocument 404 http://www.yoursite.com/404.php
答案 1 :(得分:8)
在.htaccess
文件中,您应该可以使用:
RewriteEngine on
ErrorDocument 404 /404.php
您可以使用此方法设置其他错误文档,但我将它们放在一个单独的错误目录中:
ErrorDocument 400 /errors/400.php
ErrorDocument 401 /errors/401.php
ErrorDocument 403 /errors/403.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/500.php
答案 2 :(得分:4)
您可以使用htaccess
对404旧页面执行以下操作RewriteEngine on
ErrorDocument 404 /404.php
但我个人推荐
RewriteEngine on
RewriteRule home.php /home1.php [R=301,L]
因为这会从旧页面名称重定向到新的页面名称,所以任何缓存的搜索引擎结果仍然会在正确的页面上结束,而不是点击404
答案 3 :(得分:1)
在我的情况下,使用Ubuntu发行版,伪指令ErrorDocument
如果位于.htaccess
目录中的htdocs
或其他位置,则无效:事实证明应该将其放入在正确的/etc/apache/sites-enabled/*.conf
文件中的<VirtualServer>
指令内(例如,如果网站提供https页面,则在指令<VirtualHost *:443>
内)。