2016-07-05 3 views
0

Поэтому у меня есть веб-сайт, который в настоящее время работает под 4 вариации:Несколько вариаций домена требующие Apache сайта шириной 301 Перенаправление

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

&

http://example.com/https://example.com

I я работаю над решением о перенаправлении всех вариантов на: https://www.example.com

Я прочитал много статей о том, как использовать домен Apache 301 для перенаправления на http-https (кажется, много формул), однако мне интересно, есть ли более эффективный код для всех этих вариантов 301 перенаправление на https://www. версия?

Любая помощь будет высоко оценена как я полный нуб, когда речь идет о стороне сервера язык HTAccess и т.д.

Спасибо!

ответ

0

Вы можете использовать одно правило 301 перенаправлять, чтобы обе задачи сделали:

RewriteEngine On 

# add www and http -> https 
RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 
+0

Привет анубхава, спасибо за вашу помощь! Это выглядит так, как я. Могу ли я попросить вас объяснить, что делает каждая строка, чтобы научить меня двигаться вперед? – user2336624

+0

Первые 2 'RewriteCond' имеют предложение' OR', что означает, что это правило будет выполняться для URL-адреса http: // 'URL или' non-www'. Третья «RewriteCond» захватывает часть после опционального 'www', а в« RewriteRule »мы добавляем как« www », так и« https »в конечный URL. – anubhava

0

Для перенаправления https://www, вы можете использовать:

RewriteEngine on 


RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^https://www.example.com%{REQUEST_URI} [NE,L,R=301] 
Смежные вопросы