【问题标题】:Nested subdomain URL rewrite嵌套子域 URL 重写
【发布时间】:2012-03-05 23:57:32
【问题描述】:

我看到的景象如下:

nested_subdomain1.nested_subdomain2.domain.com

可能类似于 test.users.domain.com,我希望能够将此 URL 重写为 test.users.domain2.com .

到目前为止,我的运气并没有得到很好的证明,我还没有能够从网上找到的示例中成功实施一个可行的解决方案。我已经尝试了以下一些方法:

RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule (.*) http://domain2.com/$1 [R=301,L]

或者这个……

RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]

我不确定自己做错了什么,感觉自己错过了一些非常明显的东西。

【问题讨论】:

    标签: mod-rewrite url-rewriting iis-7.5 canonical-link


    【解决方案1】:

    试试这个

    #match anything1.anything2.domain.com
    RewriteCond %{HTTP_HOST} ^([^.]+\.[^.]+)\.domain\.com$ [NC] 
    #redirect to anything1.anything2.domain2.com
    RewriteRule ^ http://%1.domain2.com%{REQUEST_URI} [R=301,L]
    

    【讨论】:

      【解决方案2】:
      RewriteCond %{HTTP_HOST} domain\.com$
      RewriteRule (*.).mydomain.com mydomain.com/$1
      

      这会将 xx.yy.mydomain.com 传输到 mydomain.com/xx.yy

      要替换成斜线,试试

      RewriteCond %{HTTP_HOST} domain\.com$
      RewriteRule (*.\.).mydomain.com mydomain.com/$1/$2/$3
      

      要转移到另一个域,请尝试

      RewriteCond %{HTTP_HOST} domain\.com$
      RewriteRule (*.).mydomain.com $1.mydomain.com [R=301,L]
      

      这会将子域转移到三级。坦率地说,您必须分析 index.php 中的主机以确定哪个子域被调用,所以还不如使用第一个

      【讨论】:

      • 感谢您的想法。有没有办法让 xx.yy.domain.com 变成 xx.yy.domain2.com ?
      • 不确定。因为我通常使用 Zend 或其他东西来解决这个问题。我会建议一个解决方案,看看它是否有效
      猜你喜欢
      • 2012-09-17
      • 2014-11-14
      • 2012-10-02
      • 2018-10-22
      • 2011-05-25
      • 1970-01-01
      相关资源
      最近更新 更多