Поэтому мне нужно перенаправить протокол HTTP на https, мой SSL уже включен и работает, но проблема в следующем: всякий раз, когда я ввожу URL-адрес HTTP, я перенаправляюсь на страницу index.php моего сайта.
Вот мой код:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# add trailing slash to directories and force SSL
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !(/$)
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://example.com/$1/ [R=301,L]
# And for the files
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
Это не имеет особого смысла, если %{HTTPS} !=on соответствует, вы уже перенаправили все на HTTPS в этот момент, поэтому когда вы когда-нибудь ожидаете, что следующий материал (который затем снова пытается проверить, поступает ли запрос через порт 80) окажет какое-либо влияние …?






Согласно Apache2 документация вы можете упростить свой виртуальный хост примерно так:
<VirtualHost *:80>
ServerName www.example.com
Redirect Permanent/ https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /usr/local/apache2/htdocs
SSLEngine On
//ALL Your specifics configurations here
</VirtualHost>
Это позволит вам перенаправить каждый запрос на порт 80 на https. Таким образом, вам нужно настроить собственный индекс каталога на виртуальном хосте 443.
Надеюсь на эту помощь.
Извините, я не понимаю, о чем вы говорите, когда говорите о настройке индекса каталога на виртуальном хосте 443.
вы сказали: «Меня перенаправляют на index.php», я считаю, что это ошибка. В любом случае, правильное перенаправление HTTPS выполняется следующим образом.
Должен ли я использовать этот код в моем htaccess? и мой общедоступный каталог не htdocs, iit public_html, могу ли я изменить его? У меня нет знаний в этой области, я делаю это только потому, что меня заставляют.
Мой пример для виртуального хоста. Чтобы получить пример для htaccess, проверьте ссылку, которую я предоставил
Думаю, ваш вопрос продублирован, попробуйте по этой ссылке: stackoverflow.com/questions/45193829/…