我正在尝试为我的网站制作自定义 404 页面,并且.htaccess
在使用此规则的根目录中有文件
ErrorDocument 404 404.php //I want to redirect to 404
因此,当我更改有效的文件名home.php
时,home1.php
它不会重定向我,而是404.php
在该页面上回显
旁注:404.php
仅在根目录中
我正在尝试为我的网站制作自定义 404 页面,并且.htaccess
在使用此规则的根目录中有文件
ErrorDocument 404 404.php //I want to redirect to 404
因此,当我更改有效的文件名home.php
时,home1.php
它不会重定向我,而是404.php
在该页面上回显
旁注:404.php
仅在根目录中
这应该这样做
RewriteEngine on
ErrorDocument 404 http://www.yoursite.com/404.php
在您的.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
您可以使用 htaccess 对 404 个旧页面执行以下操作
RewriteEngine on
ErrorDocument 404 /404.php
但我个人会推荐
RewriteEngine on
RewriteRule home.php /home1.php [R=301,L]
因为这会执行从旧页面名称到新页面名称的 301 重定向,所以任何缓存的搜索引擎结果仍然会出现在正确的页面上,而不是命中 404
在我的情况下,使用 Ubuntu 发行版,如果该指令位于in目录或其他位置,则该指令ErrorDocument
无效:事实证明,它应该放在指令内的正确文件中(例如,如果网站提供 https页面,在指令内)。.htaccess
htdocs
/etc/apache/sites-enabled/*.conf
<VirtualServer>
<VirtualHost *:443>