2015-02-16 7 views
0

Я хотел бы сделать так, чтобы все запросы на мой сайт перенаправлялись на HTTPS без www. Прямо сейчас у меня, видимо, есть и www, и не www версия моего сайта, которая должна быть плохой для seo (дублированный контент). Я также добавил сертификат SSL и должен перенаправить весь трафик на https-версию моего сайта. Ниже приведен пример того, что я ищу, чтобы выполнить:Как перенаправить все запросы веб-сайта на HTTPS без www

example.com -> https://example.com 
www.example.com -> https://example.com 
http://www.example.com -> https://example.com 
https://www.example.com -> https://example.com 

Как бы я сделать это в моем файле Htaccess?

+0

Я просто попытался обоих ответов ниже, но они, кажется, только для работы на моей домашней странице, в противном случае я получаю ошибку 404. Мой сайт построен на основе фреймворка codeigniter. Кажется, что любая страница, использующая контроллер (например, example.com/pages/somepage), не будет работать с поставляемым кодом. Что бы я сделал, чтобы он работал со страницами с помощью контроллера? – user23946

ответ

0

Эти правила должны быть в верхней части файла Htaccess в корневом каталоге

RewriteEngine On 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !example\.com$ [NC] 
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] 
1

попробовать это:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTPS_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 
</IfModule> 
+0

Не могли бы вы объяснить этот код, пожалуйста? – dgilperez