Назад | Перейти на главную страницу

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]

браузер говорит, что слишком много перенаправлений или цикла перенаправления, как решить эту проблему, у меня также есть конфигурация поддомена, поэтому условие не влияет на перенаправления поддоменов ...

Вы не нужен 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 >