2016-08-12 3 views
0
RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* ? [F,L] 
RewriteCond %{HTTPS} off 

RewriteCond %{HTTPS_HOST} !^www.website.com$ [NC] 
RewriteRule ^(.*)$ https://www.website.com/$1 [L,R=301] 

Я использовал это для перенаправления:Htaccess Канонизация для HTTPS URL (HTTP: // WWW)

  • НТТР HTTPS
  • http://www к https://www оба эти теперь работают нормально. Тем не менее, я не могу перенаправить https://website.com на https://www.website.com

    RewriteCond %{HTTP_HOST} ^www\.example\.com$ RewriteRule ^/?$ "http\:\/\/example\.com\/" [R=301,L]

Я попробовал эту меняющуюся НТТР HTTPS-код, но все это не работает. Есть ли что-то, что я делаю неправильно?

ответ

1

Вы можете использовать:

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* ? [F,L] 

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTPS_HOST} !^www.website.com$ [NC] 
RewriteRule ^(.*)$ https://www.website.com/$1 [L,R=301] 

С [OR]

0
RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Этот код работает для меня. Спасибо!

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