繁体   English   中英

重定向到主目录中的自定义404页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM