13

我正在尝试为我的网站制作自定义 404 页面,并且.htaccess在使用此规则的根目录中有文件

ErrorDocument 404 404.php //I want to redirect to 404

因此,当我更改有效的文件名home.php时,home1.php它不会重定向我,而是404.php在该页面上回显

旁注:404.php仅在根目录中

4

4 回答 4

25

这应该这样做

RewriteEngine on
ErrorDocument 404 http://www.yoursite.com/404.php
于 2013-04-04T18:20:28.407 回答
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
于 2013-04-04T18:22:22.930 回答
4

您可以使用 htaccess 对 404 个旧页面执行以下操作

RewriteEngine on
ErrorDocument 404 /404.php

但我个人会推荐

RewriteEngine on
RewriteRule home.php /home1.php [R=301,L]

因为这会执行从旧页面名称到新页面名称的 301 重定向,所以任何缓存的搜索引擎结果仍然会出现在正确的页面上,而不是命中 404

于 2013-04-04T18:24:30.277 回答
1

在我的情况下,使用 Ubuntu 发行版,如果该指令位于in目录或其他位置,则该指令ErrorDocument无效:事实证明,它应该放在指令内的正确文件中(例如,如果网站提供 https页面,在指令内)。.htaccesshtdocs/etc/apache/sites-enabled/*.conf<VirtualServer><VirtualHost *:443>

于 2020-09-24T15:28:00.647 回答