【问题标题】:How to redirect all pages under WP directory to go back to the homepage如何重定向WP目录下的所有页面返回首页
【发布时间】:2016-06-05 06:07:23
【问题描述】:

我们有一个草率的网页设计师创建了一个新设计,他们通过创建一个新的 wordpress 安装在我们的网站上创建了一个 /development 页面,但未能使其成为 noindex、nofollow,因此我们所有的主页都在 Google 下被复制/发展。

所以我想将在这个目录下找到的所有页面直接重定向回主页(而不是只删除 /development)

所以这意味着 /development 转到 domain.com 和 /development/howtofindhelp.html 不带扩展名进入 domain.com(主页)。

我尝试使用它,但它似乎根本不起作用,它基本上只是在末尾添加了斜杠:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^development(.*)$ https://domain.com/$1 [L,R=301]

【问题讨论】:

    标签: wordpress .htaccess redirect mod-rewrite


    【解决方案1】:

    您可以在顶部的functions.php上添加以下代码。

    $currernt_url=$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
        if($currernt_url!='your domain'){
         wp_redirect( home_url() );
         exit; 
        }
    

    您可以在“您的域”部分添加任何 url,然后它与除“您的域”之外的该 url 进行比较,它将重定向到主页。您还可以在 if 条件中使用 or 条件使用多个“url”

    【讨论】:

    • 我试了一下,但收到 wp 错误警告:无法修改标头信息 - 标头已发送(输出开始于 /home/public_html/development/wp-content/themes/functions.php: 5) 在 /home/public_html/development/wp-includes/pluggable.php 的第 1121 行
    • pluggable.php 中的第 1121 行将是: header("Location: $location", true, $status);返回真;
    • 我修改了一些代码,可以正常检查一次
    • 感谢您的尝试,但是,当将该代码添加到 functions.php 时,它只会在加载时将代码解析到网站的左上角。
    • 这段代码对我有用。您是在“您的域”部分添加您的域还是转到需要重定向的页面,您可以回显 current_url,然后在“您的域”部分使用该链接
    【解决方案2】:

    对于那些感兴趣的人,由于我无法让代码为 header.php 工作,我尝试了其他方法。

    只需编辑 wp-config.php 并删除 /development ,因此它只是主主页。默认情况下,当您尝试加载页面时,它会说未找到。但是您可以安装 404 到 301 插件,它将重定向所有 404 页面。

    由于这个 /development 是在它自己的 wordpress 安装上,我可以自动重定向它,因为主要的 wordpress 安装不会有这个插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多