У меня есть старый url ( www1.test.net
), и я хотел бы перенаправить его на то, что https://www1.test.net
я реализовал и установил наш сертификат SSL на своем сайте.
Это мой старый файл.htaccess
:
RewriteEngine On
RewriteRule !\.(js|gif|jpg|png|css|txt)$ public/index.php [L]
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1 [L]
Как я могу настроить свой .htaccess
файл так, чтобы URL-адрес автоматически перенаправлялся на https
?
Благодаря!
RewriteCond %{REQUEST_FILENAME} !-f
за которым следует ваше перенаправление.Ответы:
Обновление 2016
Поскольку этот ответ привлекает некоторое внимание, я хочу намекнуть на более рекомендуемый способ сделать это с помощью виртуальных хостов: Apache: Redirect SSL
Старый ответ, хакерская вещь, учитывая, что ваш ssl-порт не установлен на 80, это будет работать:
Обратите внимание, что это должно быть ваше первое правило перезаписи.
Изменить: этот код делает следующее. RewriteCond (ition) проверяет, равен ли ServerPort запроса 80 (это http-порт по умолчанию, если вы указали другой порт, вам нужно будет изменить это условие). Если это так, мы сопоставляем весь URL-адрес
(.*)
и перенаправляем его на https-URL.%{SERVER_NAME}
может быть заменен конкретным URL-адресом, но таким образом вам не придется изменять код для других проектов.%{REQUEST_URI}
- это часть URL-адреса после TLD (домен верхнего уровня), поэтому вы будете перенаправлены туда, откуда пришли, но как https.источник
[R=301]
вместо него.Я использую следующее для успешного перенаправления всех страниц моего домена с http на https:
Обратите внимание, что это приведет к перенаправлению с использованием
301 'permanently moved'
перенаправления, что поможет перенести ваш рейтинг SEO.Для перенаправления с использованием
302 'temporarily moved'
изменения[R=302,L]
источник
RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Это лучший
www
вариант для HTTPS, для пользователей прокси и без прокси.RewriteEngine On ### WWW & HTTPS # ensure www. RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # ensure https RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ### WWW & HTTPS
источник
%{HTTPS} off
недостаточноЯ заставляю https использовать следующий код:
источник
В случаях, когда соединение HTTPS / SSL завершается на балансировщике нагрузки и весь трафик отправляется экземплярам на порт 80, следующее правило работает для перенаправления незащищенного трафика.
Убедитесь, что
mod_rewrite
модуль загружен.источник
В поисках лучшего способа перенаправления я нашел это (исходящее от html5boilerplate):
Может быть, это кому-то поможет в 2017 году! :)
источник
# <IfModule mod_headers.c>
и# </IfModule>
линии?Вставьте этот код в свой файл .htaccess. И это должно работать
источник
Добавьте этот код в конец вашего файла .htaccess
источник
RewriteEngine on
в начало заставит его работать.Добавление следующего в начало файла .htaccess
источник
Это гарантирует, что перенаправления работают для всех комбинаций непрозрачных прокси.
Это включает в себя клиентский <http> прокси <https> веб-сервер .
источник
У меня тоже была проблема с перенаправлением. Я перепробовал все, что предлагалось на Stackoverflow. Один случай, который я обнаружил сам:
источник
Принудительное использование HTTPS с
.htaccess
файлом==> Перенаправить весь веб-трафик: -
Чтобы заставить весь веб-трафик использовать HTTPS, вставьте следующие строки кода в
.htaccess
файл в корневой папке вашего веб-сайта.==> Перенаправить только указанный домен: -
Чтобы заставить конкретный домен использовать HTTPS, используйте следующие строки кода в
.htaccess
файле в корневой папке вашего веб-сайта:Если это не сработает, попробуйте удалить первые две строки.
==> Перенаправить указанную папку: -
Если вы хотите принудительно использовать SSL для определенной папки, вставьте приведенный ниже код в
.htaccess
файл, расположенный в этой конкретной папке:источник
Замени свой домен на
domainname.com
, он работает со мной.источник