【问题标题】:.htaccess redirect - automatically add www. if no subdomain exists.htaccess 重定向 - 自动添加 www。如果不存在子域
【发布时间】:2012-08-28 16:17:51
【问题描述】:

我需要任何 www。仅当子域尚不存在时才自动添加到我的域中。我确实希望子域绕过此重定向。

我该怎么做?

【问题讨论】:

    标签: .htaccess redirect mod-rewrite subdomain


    【解决方案1】:

    要在没有子域时自动将www 添加到您的域名,请将其添加到文档根目录中的 htaccess 文件中:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
    

    【讨论】:

    • 谢谢。这似乎有效。你能解释一下为什么前一个在你看来不起作用吗?我注意到它起作用了;但是,然后注意到我的子域不起作用。不确定这是否相关或只是传播问题。我很想了解更多关于 2 个答案的每一行的含义。谢谢!
    • @kdjernigan www 从未添加到重定向中,第一个条件匹配子域。
    • 此解决方案是否假定 TLD 只有一个点?即它不适用于.co.uk?
    • 它只检查 TLD 中的一个点以使其与 .co.uk 一起使用,您需要在这里检查两个点是我的快速解决方案 RewriteCond %{HTTP_HOST} ^[^.]+\.[^ .]+\.[^.]+$ 只是改变这个条件其余保持不变
    • @LWC 正则表达式仅检查域和 TLD,它不知道“www”或任何其他子域之间的区别。因此,如果存在子域或“www”,则条件失败并跳过规则。
    猜你喜欢
    • 2021-09-26
    • 2016-05-19
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 2016-06-16
    • 1970-01-01
    • 2012-03-03
    相关资源
    最近更新 更多