【问题标题】:Redirects in .htaccess file for non-www domains except subdomains and dev domains在 .htaccess 文件中为非 www 域重定向,子域和开发域除外
【发布时间】:2017-09-22 09:48:38
【问题描述】:

我会将我的 Laravel .htaccess 中的所有 非 www 域重定向到 www-domain除了子域和开发域(* .app)。

我有一个包含多个域名的应用程序,现在我在我的 htaccess 中使用了一个很长的列表,但这是一个不好的方法......

# bad way :(
RewriteCond %{HTTP_HOST} ^example.com [NC]
        RewriteRule (.*) https://www.example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^example1.com [NC]
        RewriteRule (.*) https://www.example1.com/$1 [R=301,L]

# etc... a very long list...

如何将所有非 www 域重定向到 www 版本:

【问题讨论】:

    标签: php apache .htaccess redirect mod-rewrite


    【解决方案1】:

    您可以像这样使用单个规则:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTP_HOST} !\.app$ [NC]
    RewriteCond %{HTTP_HOST} !^[\w-]+\.[\w-]+\.(com|be|de|co\.uk)$ [NC]
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI{ [R=301,NE,L]
    

    【讨论】:

    • 对不起...这不适用于多个域。我将为我的所有域制定一般规则...
    • 这确实是一个通用规则,但有 2 个例外 1. subdomain 和 2. example.app。此规则将影响所有其他域。
    • 是的,但是当我将您的代码粘贴到我的 htaccess 中时,他会将所有子域重定向到 www 域。喜欢:sub.test.comsub.test.com
    猜你喜欢
    • 1970-01-01
    • 2015-11-06
    • 2013-09-18
    • 2020-11-09
    • 2015-08-29
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多