【问题标题】:.htaccess redirect folder to subdomain.htaccess 将文件夹重定向到子域
【发布时间】:2015-09-24 12:34:43
【问题描述】:

我尝试应用一些在 stackoverflow 上找到的答案,但要么我遗漏了什么,要么我很愚蠢。

基本上我有一个主域名。此域已经有一个非 www 重定向。所以http://domain.com 变成了http://www.domain.com。此域在“m”文件夹中还有一个移动版本。因此访问像http://www.domain.com/m/ 这样的域名是可行的,http://m.domain.com 也是如此。我想要实现的目标很简单:通过http://www.domain.com/m/http://www.domain.com/m/about 访问该站点的任何人都应重定向到子域版本,以便在上面列出的第二种情况下重定向到http://m.domain.comhttp://m.domain.com/about

无论我尝试实现什么都以错误告终,要么我设法禁用对 m.domain.com 的直接访问,但它通过 domain.com/m/ 工作,或者重定向循环。

谢谢!

【问题讨论】:

    标签: .htaccess redirect mobile subdomain


    【解决方案1】:

    您可以在domain.com main .htaccess 的DOCUMENT_ROOT/.htaccess 文件中使用此代码:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(domain\.com)$ [NC]
    RewriteRule ^m/(.*)$ http://m.%1/$1 [L,NC,R=302]
    
    # non-www to www
    RewriteCond %{HTTP_HOST} !^(m|www)\. [NC]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,NC,R=302]
    

    【讨论】:

    • 感谢您的回复。您的代码非常适合移动版本,但是我丢失了非 www 到 www 的重定向。知道为什么吗?我只使用你上面写的代码。谢谢!
    • 感谢您的更新,但它没有按预期工作:(。基本上非 www 到 www 是可以的,但现在移动版本添加了一个 www,我不这样做'不需要,它还在域扩展后添加了一个尾随 /m/ 并重定向到子域,所以我得到一个 http://www.m.domain.com/m/ 并且我需要它是 http://m.domain.com
    • 再次感谢您抽出宝贵的时间,但它没有按预期工作。上面的代码没有重定向非 www 链接,最重要的是,如果我链接到站点内的绝对 URL,它会添加一个额外的 www :(
    • 对不起,我打错了,现在更正了。清除浏览器缓存后立即尝试我更新的规则。
    猜你喜欢
    • 2013-11-08
    • 2012-11-23
    • 2014-03-17
    • 1970-01-01
    • 2012-09-17
    • 2012-01-09
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多