duanrongshi1544 2014-07-23 11:54
浏览 61
已采纳

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

I'm using the following htaccess do redirect people who not have the "www" or "staging" subdomain in the url to the www.domain.com subdomain

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

Now I'd like to have the same generic for multiple domains. However the following isn't working:

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

Returns in an configuration error.

Thx I appreciate your help!

  • 写回答

1条回答 默认 最新

  • dongwuwu6104 2014-07-23 12:14
    关注

    Try this instead:

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

    %2 will match ([^\.]+) from the RewriteCond, which will match any character that isn't a . between !(www|staging|dev). and .(de|lo)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?