1

I have the next code in my .htaccess file:

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /

   RewriteCond %{HTTPS} off
   RewriteRule (.*) https://www.example.com%{REQUEST_URI} [R=301,NC,L]

   RewriteCond %{HTTP_HOST} !^(www|subdomain) [NC]
   RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
</IfModule>

With this code the following URLs are redirecting everyone to https://www.example.com.

  • http://example.es
  • http://www.example.es
  • https://example.es

But the next one is not redirected:

https://www.mydomain.es

Could some one help me with this problem?

4

2 に答える 2

1

解決済み

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
于 2014-11-11T19:12:12.823 に答える
0

下から 3 行目の条件は次のとおりです: リクエストのみをホスト名がwwwor subdomain...で始まらないためhttps://www.mydomain.es、リダイレクトされません - 最初のルールは適用されません (HTTPS がオン) およびホスト名が.. .www.mydomain.eswww

確実ではありませんが、条件を次のようにしたいと思います。

RewriteCond %{HTTP_HOST} !=www.mydomain.com [NC]

両方のルールをマージすることも検討できます (ただし、質問にすべての要件が示されているかどうかはわかりません)。

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !=www.mydomain.com [NC]
RewriteRule .* https://www.mydomain.com%{REQUEST_URI} [L,QSA,R=301]
于 2012-12-07T15:08:30.910 に答える