[英]Redirecting to custom 404 page in home directory
我无法将404(错误的url请求)重定向到我开发并上传到服务器的404页面(404.php)。
该服务器在/ blog子文件夹中安装了Wordpress,所有404都已重定向到wordpress博客的404页面。 我已经在.htaccess中设置了重定向,但无法正常工作。
ErrorDocument 404 /404.php
这是我在.htaccess中添加的内容,但仍会重定向到博客的404而不是根目录下的404页面。
如何覆盖呢?
据我了解, ErrorDocument 404 /404.php
仅在未在.htaccess
指定重写规则的情况下才有效,例如:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
因为wordpress有它自己的生命周期 ,所以使用.htaccess
URL重写来确定哪个页面请求即将到来。 WordPress具有了解当前请求的核心机制。 例如,您创建了一个页面名称hello-word
,当您转到http://your_wordpress.com/hello-word
wordpress从URL确定hello-world
并在其数据库中查找是否具有hello-word
页面。 如果数据库中不存在当前页面,则其机制会自动调用位于当前活动主题中的主题404模板。
解
在wp-content/themes/YOUR-THEME/404.php
创建一个文件并更改其内容。 您无需在.htaccess
指定ErrorDocument 404 /404.php
。 在此处详细了解如何创建404
模板
我通过将这段代码粘贴到我的wordpress主题的header.php文件顶部来实现此目的
if ( is_404() ) {
wp_redirect( '../404.php' );
exit;
}
现在,根/主站点404页面已加载,而不是按预期加载了wordpress博客的404页面。 :)
首先,请确保404.php位于正确的位置,并且http://www.example.com/404.php正常运行。
如果404.php和.htaccess都存在于同一根文件夹中,请尝试更改.htaccess文件中的以下行
错误文档404 /404.php
至
ErrorDocument 404 /root/404.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.