如何重定向子域中的所有页面除了少数几个?

时间:2014-07-03 02:39:26

标签: regex apache .htaccess mod-rewrite

我正在开发一个子域,我需要将所有页面重定向到主域,除了几页。

例如,http://subdomain.domain.com/contact-ushttp://subdomain.domain.com/thank-you页面不应重定向。所有其他页面都应重定向到http://www.domain.com

主域名托管在其他地方,子域名指向我有权访问的服务器。在subdomain的.htaccess中,我可以这样:     RewriteEngine On     RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteRule ^(.*)/?!(contact-us|thank-you)$ http://www.domain.com/$1 [R=301,L]

1 个答案:

答案 0 :(得分:2)

你很亲密:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteRule ^(?!(?:contact-us|thank-you))(.*)/?$ http://www.domain.com/$1 [R=301,L,NE]

否定前瞻(?!(?:contact-us|thank-you))确保后面的内容既不是contact-us也不是thank-you

<强>参考