【问题标题】:Need to rewrite .htaccess rule to redirect from Site A to Site B except the SITA index.php需要重写 .htaccess 规则以从站点 A 重定向到站点 B,SITA index.php 除外
【发布时间】:2021-01-20 04:19:04
【问题描述】:

是否可以将除站点 A 的 index.php 之外的所有 URL 和子域从站点 A 重定向到站点 B。我使用了以下规则,但没有一个有效。

下面是我用来重定向除索引之外的所有内容

  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^abc.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.abc.com$
  RewriteCond %{REQUEST_URI} ! ^/index.php\
  RewriteRule (.*)$ https://www.newsite.com/$1 [R=301,L]

目前我正在使用在以下规则下正常工作的代码将所有内容从站点 A 重定向到站点 B

  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^abc.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.abc.com$
  RewriteRule (.*)$ https://www.newsite.com/$1 [R=301,L]

我如何重写它,使站点 A 的 index.php 打开与原来相同,并且站点 A 的所有其他内容都重定向到站点 B。

我试过那个还是不行。一切都将进入站点 b。并且站点 A 的 index,php 是相同的,即 www.abc.com 我希望它按原样打开。但是www.abc.com/anything到网站B

谢谢

【问题讨论】:

    标签: php apache .htaccess redirect


    【解决方案1】:

    尝试使用以下规则,我在您当前的规则中做了一个例外,只忽略 index.php 并接受所有其他匹配项。

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^abc.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.abc.com$
    RewriteRule (.*)$ https://www.newsite.com/$1 [R=301,L]
    

    您之前的尝试,无论匹配所有内容。

    【讨论】:

    • 我认为它与我写的第二条规则相同。你介绍了什么变化请让我知道也许我错过了什么?无论如何,我也使用了它,但它也将我的索引重定向到了新站点。
    • @pankajkarkra 你之前的规则应该这样写htaccess.madewithlove.be?share=abc5da91-8fd0-4b26-a70a-73f2c9fb…
    • 我试过那个还是不行。一切都将进入站点 b。并且站点 A 的 index,php 是相同的,即 www.abc.com 我希望它按原样打开。但是 www.abc.com/anything 网站 B
    • ` RewriteEngine On RewriteCond %{HTTP_HOST} ^abc.com$ [OR] RewriteCond %{HTTP_HOST} ^www.abc.com$ RewriteRule (.+) newsite.com/$1 [R=301,L ,NE]`这对我有用谢谢
    猜你喜欢
    • 2013-12-20
    • 2018-12-07
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多