Проблемы с htaccess, перенаправляющим http на https

У меня проблема с моим файлом htaccess на сервере. При попытке перенаправить http на https, он сошел с ума.

Если я сделаю это:

ErrorDocument 400 /errores/error400.php
ErrorDocument 404 /errores/error404.php
ErrorDocument 403 /errores/error403.php
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([A-Za-z0-9_-]+)$ /index.php?lang=$1
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?lang=$1&go=$2
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?lang=$1&go=$2&action=$3

Работает нормально, только это не перенаправляет http на https

Но когда я положу это:

ErrorDocument 400 /errores/error400.php
ErrorDocument 404 /errores/error404.php
ErrorDocument 403 /errores/error403.php
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule ^([A-Za-z0-9_-]+)$ /index.php?lang=$1
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?lang=$1&go=$2
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?lang=$1&go=$2&action=$3

Сервер перенаправляет на https, но вместо того, чтобы поставить URL как https://server.com/en/home оно делает https://server.com/folder1/folder2/web/portal/en/home

И я не знаю, что делать.

заранее спасибо

0

Решение

Я бы порекомендовал вам сопоставить ваши правила перезаписи с флагами, особенно для перенаправления HTTPS.

Вот что сработало для моего производственного сервера:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

Когда вы ставите [L], он сообщает apache прекратить обработку следующих правил, которые также соответствуют (.*), Вы можете найти больше информации об этом флаге здесь: RewriteRule Флаги

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]