Apache 一个重定向规则中有两个重定向条件

Apache 一个重定向规则中有两个重定向条件

example.com,现在我需要的是请求到达 example.com 并且 www.example.com 重定向到https://www.example.com

这是我的 apache 重定向代码

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

如果我添加RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]

浏览器说重定向太多或重定向循环,如何解决,我也有子域配置,所以条件不影响子域重定向......

答案1

不需要 mod_rewrite为了这

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com

    Redirect "/" "https://www.example.com/"
</VirtualHost >

但如果你真的想使用 mod_rewrite

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://www.example.com/%{REQUEST_URI} [R=301,L]
</VirtualHost >

相关内容