【问题标题】:Forcing WWW, but want to preserve subdomains?强制使用 WWW,但想保留子域?
【发布时间】:2011-04-24 04:29:25
【问题描述】:

我目前正在强制所有访问者在我的 URL 中使用 www.mydomain.com。但是,我正在建立一个移动站点并希望使用子域 m.mydomain.com。但是,使用的任何子域都会重定向到 www.mydomain.com。我当前用于重定向的 .htaccess 是:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.mydomain.com$
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301]

我可以允许 m.mydomain.com 使用 htaccess 重定向吗?

【问题讨论】:

    标签: apache .htaccess redirect http-status-code-301


    【解决方案1】:

    以下规则应该适合你:

    RewriteEngine on
    Options +FollowSymlinks -MultiViews
    
    RewriteCond %{HTTP_HOST} !^(www|m)\.mydomain\.com$ [NC]
    RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
    

    使用 NC 进行忽略大小写比较很重要,L 用于将其标记为最后一条规则。并且点. 需要在 RewriteCond 中转义。

    【讨论】:

      【解决方案2】:

      将您的 RewriteCond 行更改为如下对您有用吗?这将它从仅检查域是否以 www 开头更改为 wwwm ,所以它看起来就像您正在寻找的那样。

      RewriteCond %{HTTP_HOST} !^(www|m).mydomain.com$
      

      【讨论】:

        猜你喜欢
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 2014-02-15
        • 2014-01-20
        • 1970-01-01
        • 1970-01-01
        • 2016-03-20
        • 1970-01-01
        相关资源
        最近更新 更多