【问题标题】:Redirect with htaccess if url of multiple subdomain not contains directory如果多个子域的 url 不包含目录,则使用 htaccess 重定向
【发布时间】:2014-12-28 16:08:33
【问题描述】:

而且我有很多子域: sub1.abc.com, sub2.abc.com,.., subn.abc.com 同目录:true-dir-1, true-dir-2, true-dir-3 我想要 如果 url 不包含 (true-dir-1, true-dir-2, true-dir-3) 然后重定向到子域 例如:

sub1.abc.com/false-dir redirect to sub1.abc.com
sub2.abc.com/false-dir redirect to sub2.abc.com

请帮助我使用 .htaccess 重定向它.. 非常感谢!

【问题讨论】:

    标签: .htaccess redirect subdomain


    【解决方案1】:

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

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^sub1\.abc\.com$ [NC]
    RewriteRule !^true-dir-1 / [L,NC,R=302]
    
    RewriteCond %{HTTP_HOST} ^sub2\.abc\.com$ [NC]
    RewriteRule !^true-dir-2 / [L,NC,R=302]
    
    RewriteCond %{HTTP_HOST} ^sub3\.abc\.com$ [NC]
    RewriteRule !^true-dir-3 / [L,NC,R=302]
    

    【讨论】:

    • 我有很多子域和真实目录
    • 可以,但是如何使用您的子域名获取子目录名称?
    • 您需要将这些规则放在每个子域的DocumentRoot 中,并确保这些是第一条规则。
    【解决方案2】:

    你可以使用它:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(.+)\.abc\.com$ [NC]
    RewriteRule !^%1 / [L,NC,R=302]
    

    当测试运行良好时,将[R=302] 更改为[R=301]

    【讨论】:

    • 非常感谢。但真正的目录可以是:carsale.html、contact.html、intro.html、product.html.v.v.v 子域可以是:autopro.abc.com、carone.abc.com、meauto.abc.com ...整个子域同一个真实目录..我测试了一个子域和一个真实目录..但它不运行..
    • 这些是文件,而不是目录。但我改变了答案。
    猜你喜欢
    • 2014-03-08
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2011-03-14
    • 1970-01-01
    相关资源
    最近更新 更多