htaccess将domain.com重定向到www.domain.com,除了多个域的staging.domain.com

时间:2014-07-23 11:54:23

标签: php apache .htaccess mod-rewrite redirect

我正在使用以下htaccess,将没有“www”或“staging”子域名的人重定向到www.domain.com子域名的网址

    RewriteCond %{HTTP_HOST} !^(www.domain.com|staging.domain.com)$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

现在我想为多个域提供相同的通用。但是以下情况不起作用:

    RewriteCond %{HTTP_HOST} !^((www|staging|dev).(^\.*).(de|lo))$ [NC]
    RewriteRule ^(.*)$ http://www.$2.de/$4 [L,R=301]

返回配置错误。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

请改为尝试:

RewriteCond %{HTTP_HOST} !^(www|staging|dev)
RewriteCond %{HTTP_HOST} ^([^\.]+\.)?([^\.]+)\.(de|lo)$ [NC]
RewriteRule ^/(.*)$ http://www.%2.de/$1 [L,R=301]

%2将与RewriteCond中的([^\.]+)匹配,后者将匹配.!(www|staging|dev). .(de|lo)的任何字符>