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

Apache перенаправляет https: // host: port / folder на http: // host: port / folder /

У меня есть сервер apache, использующий два домена SSL (без поддержки SNI) в разных портах, примерно так:

У меня есть правило перезаписи для перенаправления http: //host2.tld: 80 to: 444 (и то же самое для host1). Тогда возникает проблема:

У меня есть папка "папка" в корне host2. Если я попытаюсь получить доступ http: //host2.tld/folder/, все в порядке и я попал в https: //host2.tld: 444 / папка / как и ожидалось. Теперь, если я наберу http: //host2.tld/folder, apache перенаправляет меня на http: //host2.tld: 444 / папка /, которого не существует.

Поскольку перенаправление из «папки» в «папку /» выполняется автоматически, что я могу сделать, чтобы исправить мою проблему?

Конфигурация мод-перезаписи:

<VirtualHost *:80>
    ServerName host2.tld
    RewriteEngine On
    RewriteRule (.*) https://%{HTTP_HOST}:444%{REQUEST_URI} [R=301,L]
</VirtualHost>

Удалите L из правила перезаписи. Эта опция указывает, что правило является «последним» правилом, и дальнейшая перезапись выполняться не будет.

Когда вы идете в http://host2.tld/folder он переписывает uri, добавляя косую черту, но больше не обрабатывает.

Вы также можете захотеть / нуждаться в добавлении условия к перезаписи, чтобы предотвратить цикл при каждом запросе.