2016-09-11 2 views
0

Я нашел различные решения для www to non-www, http to https или их комбинации. Однако не все они работают так, как ожидалось. Например, this one, он не может выполнить мое третье условие ниже.htaccess перенаправить www на не-www и http на https

Условия

1. domain.com/* -> https://domain.com/* 
2. www.domain.com/* -> https://domain.com/* 
3. https://www.domain.com/* -> https://domain.com/* 

я объединил два решения, которые я нашел и получил ниже. Он работает, но я не уверен, правильно ли он написан и используется. Я полностью не знаю об использовании правил .htaccess. Поэтому я надеюсь, что кто-то может дать руку. Спасибо!

RewriteCond %{HTTP_HOST} ^www\.(.+) [NC] 
RewriteRule ^(.*) http://%1/$1 [R=301,NE,L] 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 
+0

1-е правило должно иметь: 'RewriteRule^https: //% 1% {REQUEST_URI} [R = 301, NE, L]' – anubhava

+0

@anubhava привет, когда вы сказали «должно иметь» означает ли это заменить вторую строку ? – Shyuan

+0

Да, это то, что я имел в виду – anubhava

ответ

0

Я думаю, перенаправляя www to non-www лучше сделать с помощью простого DNS CNAME записи:

NAME: www.domain.com. 
TYPE: CNAME 
RECORD: domain.com 

Это оставит вас только http to https редирект в Apache, который он выглядит, как вы покрыли.

+0

Привет, у меня уже есть одна и та же запись «CNAME» в моих записях DNS с самого начала, но, похоже, она не помогает, прежде чем я использую код .htaccess. Есть идеи? – Shyuan

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