.htaccess обслуживать приложение из подкаталога и перенаправлять на https - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть структура моего приложения, как это:

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.

Может быть, я должен поставить там некоторые правила, но я так долго пытался это сделать, и у меня нет идей.

...