1

SSL を強制して www を削除する必要がある ExpressionEngine サイトがあります。URLから。私はこのコードを使用しています:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} !=on   
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC]
RewriteRule ^(.*)$ https://%2/$1 [R=301,L,QSA]

# Remove index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteRule ^(.*)$ index.php/$1 [L]

しかし、誰かがhttps://www.URLHERE.comにアクセスすると、www が削除されないことに気付きました。1 つのルールで SSL の強制と WWW の削除の両方を行う方法はありますか (つまり、「or」などを実行できますか?)、または、WWW を削除するルールと SSL を強制するルールの 2 つのルールを作成する必要がありますか?

4

1 に答える 1

2

ルールORに両方の条件の条件があります。

RewriteEngine On
RewriteBase /

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

// rest of your rules here...
于 2013-10-14T13:09:40.407 に答える