2015-01-23 3 views
1

Я знаю, что этот вопрос задан и ответил много раз, но последние три часа я провел через ответы на вопросы людей, и никто из них, похоже, не работал для меня..htaccess не-www на www и http до https

Мне нужен .htaccess код, чтобы сделать это:

Если домен example.co.uk/$urlData (применяются только к основному домену и не поддомены) переписать слишком www.example.co.uk/$urlData

Если HTTPS не «на» и домен является первичным (т.е. нет субдоменов), затем перенаправлять на https://www.example.co.uk/$urlData.

Я должен использовать RewriteCond %{HTTP:X-Forwarded-Proto} !https для проверки, если HTTPS выключен, так как RewriteCond %{HTTPS} off не настроен на моем сервере.

ответ

1

Добавьте это в .htaccess:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^example\.co\.uk$ [NC] 
RewriteRule (.*) https://www.example.co.uk/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^www\.example\.co\uk$ [NC] 
RewriteCond %{HTTP:X-Forwarded-Proto} !=https 
RewriteRule (.*) https://www.example.co.uk/$1 [R=301,L] 
1

Попробуйте и посмотрите, будет ли это работать для вас.

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L] 
+0

Спасибо, но я только что загрузил его и получить внутреннюю ошибку сервера –

+0

@JackTrowbridge Да, я была опечатка в последней строке. Предполагалось, что это «RewriteRule», я думаю, что я набирал слишком быстро. –

+0

@JackTrowbridge То, как у меня есть, меньше кода и выполняет то, что вам нужно. Извините за опечатку, которую я исправил и оставлю свой ответ, если кто-то еще захочет ее использовать. –

Смежные вопросы