我有一个在多个域上运行的站点(不同域上的不同内容但存在重叠)。我希望将网页列表永久重定向到新网址,但仅限于指定的网址。
所以我有这样的网址:
domain1.com/some/old/uri
,domain2.com/some/old/uri
使用301重定向我需要这样做:
Redirect 301 /some/old/uri http://www.example.com/new/uri
我的问题是,如果它存在,这将在所有域上重定向/some/old/uri
,但我只希望将其重定向到指定的域(只有我不能为源URL设置绝对路径) )
答案 0 :(得分:1)
您需要将mod_rewrite
规则与RewriteCond
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?domain1\.com$ [NC]
RewriteRule ^/?old/uri/?$ http://www.example.com/new/uri [L,R=301,NC]
条件RewriteCond %{HTTP_HOST} ^(?:www\.)?domain1\.com$ [NC]
会确保仅针对domain1.com
执行此规则(www
是可选的)