У меня есть структура моего приложения, как это:
root
--.htaccess
--public
Я размещаю свое приложение в / root. И .htaccess это:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
Работает отлично. Но теперь мне нужно перенаправить мой сайт на https://www.example.com (с https и www).
Если я добавлю правила перенаправления
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
сайт переходит на цикл перенаправления.
полный .htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
Если я поменяю местами правил, он никогда не будет перенаправлять.
Пожалуйста, помогите мне объединить эти два правила вместе.
ПРИМЕЧАНИЕ : в общей папке также есть файл .htaccess
.
Может быть, я должен поставить там некоторые правила, но я так долго пытался это сделать, и у меня нет идей.