【问题标题】:URL redirect when DNS is changed更改 DNS 时的 URL 重定向
【发布时间】:2014-01-07 22:44:12
【问题描述】:

我已经完成了一些 DNS 更改。

test.com, test.nu, test.se, testme.com ----->welcome.se

以上服务器中的所有url都必须重定向到http://welcome.se/abcd/test/index.html

我写了以下重写规则。

ReWriteCond %{HTTP_HOST} ^(test|testme)\.(se|com|nu))$ [NC]
RewriteRule ^ http://welcome.se/abcd/test/index.html [L,R=301]

谁能告诉我这是否完美。

我刚试过这个。我没有任何方法可以测试它。

【问题讨论】:

  • 你只是多了一个),所以应该是:ReWriteCond %{HTTP_HOST} ^(test|testme)\.(se|com|nu)$ [NC]
  • @anubhava。感谢您的答复。我还将使用 pattern/abcd/* 将我的服务器中的所有请求重定向到另一台服务器。您是否也可以查看它。 重写规则 ^/abcd/(.+) test.se/$1 [R,L]
  • 好的,让我在答案中发布两条规则,因为在这里在评论中发布代码非常困难。

标签: regex apache .htaccess mod-rewrite dns


【解决方案1】:

试试这个代码:

RewriteEngine On

ReWriteCond %{HTTP_HOST} ^(test|testme)\.(se|com|nu)$ [NC]
RewriteRule ^ http://welcome.se/abcd/test/index.html [L,R=301]

RewriteRule ^abcd/(.+)$ http://test.se/$1 [NC,R=301,L]

【讨论】:

  • 你能告诉我[NC,R=301,L]的意义吗?和 $
  • 是的,当然。 NC - 忽略大小写匹配,R=301 - 重定向 HTTP 状态 = 301,L - 最后一条规则。正则表达式中的$ 表示输入结束。
  • 感谢您的明确答复。在上面的第一条规则中,我在welcome.se 中编写重定向。在那里写完整路径真的很重要吗,或者我们可以写 RewriteRule ^ /abcd/test/index.html [L,R=301]。请您确认一下。
  • 哦,是的,你也可以写:RewriteRule ^ /abcd/test/index.html [L,R=301]
猜你喜欢
  • 2018-07-28
  • 1970-01-01
  • 2010-10-15
  • 2012-04-27
  • 1970-01-01
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多