如何修改重写域,但保持域完整后的所有内容

时间:2014-03-30 10:14:31

标签: apache .htaccess mod-rewrite

我有两个不同的域名。让我们称之为domain1和domain2。

我需要修改重写:

www.domain1.com/some/stuff/after-domain

这样就变成了:

www.domain2.com/some/stuff/after-domain

基本上,域之后的所有内容都应该保持不变。唯一的区别应该是更改域名。任何人都可以帮我解决这个重写规则。我尝试了以下内容,但它对我不起作用。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^domain2.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.domain2.com$
  RewriteRule ^(.*)$ http://www.domain1.com/$1 [R=301,L]
</IfModule>

另请注意,{REQUEST_URI}和{REQUEST_FILENAME}不适用于此应用程序。

一如既往地提前感谢你。

编辑: 根据更多信息的请求,我在使用上述规则时得到的结果: http://www.domain1.comhttp//www.domain1.com/some/stuff/after-domain

此外,我忘了指定我希望domain1出现在地址栏网址中,但是根据domain2提取内容(这是否可能?)

2 个答案:

答案 0 :(得分:0)

我假设您希望将所有内容重定向到一个域的一般情况,这样您就不需要指定所有可能的排列:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domain1.com$
RewriteRule ^(.*)$ http://www.domain1.com$1

这应该实现我认为你想要做的事情。

答案 1 :(得分:0)

以下内容对您有用:

RewriteEngine On
Redirect 301 / http://www.domain2.com/

它应该重定向:www.domain1.com/some/stuff/after-domain - &gt; www.domain2.com/some/stuff/after-domain