【问题标题】:Is there a smarter/better way to do HTTPS / WWW Rewrites?是否有更智能/更好的方式来进行 HTTPS / WWW 重写?
【发布时间】:2017-03-07 02:37:34
【问题描述】:

我写了一个似乎可以工作的.htaccess 脚本。然而,我是 Apache 的新手,而且我经常发现我放在一起的东西应该以不同的方式构造或具有更好的语义。

我的代码的目标是确保wwwHTTPS 始终存在于网址中。我将 302 用于测试目的。简而言之,这段代码是否被抬高了?有什么明显的痛苦需要我改变吗?

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule .* https://www.example.com%{REQUEST_URI} [R=302,L]
</IfModule>

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    要强制执行 https 和 www ,您可以使用:

    RewriteEngine on
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} !^www
    RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$
    RewriteRule ^ https://www.%2%{REQUEST_URI} [NE,L,R]
    

    这会将 http://example.comhttps://example.com 重定向到 https://www.example.com

    【讨论】:

    • 有趣。如果用户输入example.com 而没有其他内容,它会重写吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多