htaccess переписать с http на https - PullRequest
0 голосов
/ 18 ноября 2018

В настоящее время я перенаправляю всех пользователей http (www или не-www) из upscfever.com в http://upscfever.com/upsc-fever/index.html

, используя

RewriteEngine on

RewriteCond %{HTTP_HOST} ^upscfever\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.upscfever\.com$
RewriteRule ^/?$ "http\:\/\/upscfever\.com\/upsc\-fever\/index\.html" [R=301,L]

Теперь я хочу всепользователям перейти на https, поэтому я изменил это следующим образом:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^upscfever\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.upscfever\.com$
RewriteRule ^/?$ "https\:\/\/upscfever\.com\/upsc\-fever\/index\.html" [R=301,L]

Чтобы все, кто пишет upscfever.com ИЛИ www.upscfever.com, переходили на https://upscfever.com/upsc-fever/index.html - вместо

Плюс все ссылки должны быть https.Но это не работает, я получаю страницу не найдена.

Ответы [ 5 ]

0 голосов
/ 28 ноября 2018

Надеюсь, что приведенный ниже код сработает за вас

RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://famebooking.net/$1 [R,L] 

, просто добавьте приведенный выше код в .htaccess ниже authorization header condition написано под RewriteEngine On

Дайте мне знать, еслиэто помогает.

0 голосов
/ 26 ноября 2018

Вы можете попробовать что-то вроде этого:

RewriteEngine On
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
0 голосов
/ 23 ноября 2018

Я думаю, вы хотите сделать 3 разных изменения:

  1. Измените файл .htaccess, чтобы перенаправить запросы в корневой каталог на ваш пользовательский индекс независимо от HTTPS или HTTP для исходного запроса
RewriteEngine on

RewriteCond %{HTTP_HOST} ^upscfever\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.upscfever\.com$
RewriteRule ^/?$ "https://%{SERVER_NAME}/upsc-fever/index.html" [R,L]

Здесь нет части R=301, потому что я не уверен, что действительно целесообразно сделать постоянным такое перенаправление на скрытый внутренний URL.

  1. Перенаправить все другие не HTTPS-запросы в HTTPS (сохраняя оставшуюся часть URL):
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^upscfever\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.upscfever\.com$

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]

Создание этого перманента перенаправления кажется довольно безопасным.

  1. Измените все внутренние ссылки на всех ваших HTML-страницах (или независимо от того, что их генерирует бэкэнд), чтобы использовать относительный протокол // префикс или явно https:// вместо текущего http://. Сохраните протокол для внешних ссылок как есть.

Что касается устранения неполадок, вы можете использовать вкладку «Сеть» Chrome DevTools (F12), чтобы увидеть точный ответ сервера (примечание: включение флагов «Сохранить журнал» и «Отключить кэш» полезно в этом контексте)

Chrome DevTools

0 голосов
/ 24 ноября 2018

Вы можете сделать это, используя одно правило в корне вашего сайта .htaccess:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(?:www\.)?upscfever\.com$ [NC]
RewriteRule ^/?$ /upsc-fever/index.html [R=301,L]

Это перенаправит URL-адреса как http, так и https.

0 голосов
/ 18 ноября 2018

Ваш сервер должен сначала настроить https, в зависимости от поставщика хостинга, если ваш хостинг vps, вам нужно настроить https для apache, также установите cert.

Вы можете найти некоторые инструкции, подобные этой:

https://manual.seafile.com/deploy/https_with_apache.html

https://www.digicert.com/csr-ssl-installation/apache-openssl.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...