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 >
Другие вопросы по тегам