Apache Rewrite:将除少数页面之外的所有页面重定向到主页

Apache Rewrite:将除少数页面之外的所有页面重定向到主页

page1我正在为几个域使用 Apache 2.2.3,对于其中一个域,我试图将除少数页面(例如和)之外的所有页面重定向page2到根目录www.domain2.com。我希望所有其他网站不受影响。

(以下内容应解析为www.domain2.com/page1www.domain2.com/page1

(以下内容应解析为www.domain2.comwww.domain2.com/page3

以下是我尝试的方法,但不起作用。本质上,对于所有请求,www.domain2.com我希望所有页面(保存page1page2)解析为根(www.domain2.com)。我在否定(除所有页面外)方面遇到了麻烦:

RewriteCond %{http_host} ^.*domain2\.com [nc]
RewriteRule ^.*domain2.com!(|/|/page1|/page2)$ http://www.domain2.com [r=301,nc,L]

答案1

这会将 domain2 上的所有请求(page1 和 otherpage 除外)重定向到 domain1 上的等效页面

RewriteCond %{HTTP_HOST} ^.*.domain2.com [NC]

重写条件 %{REQUEST_URI} !^/page1.html

重写条件 %{REQUEST_URI} !^/otherpage.html

重写规则 ^/(.*)$http://www.domain1.com/1 美元 [右=301,左]

例如:www.domain2.com/index.html -> www.domain1.com/index.html

复制里面的 rewriteconds(或者!^/(page1|otherpage)\.html根据需要使用正则表达式)。

相关内容