7

私は自分のローカルホストで作業しているので、mod_rewrite ルールでこの例外が必要です。現在、次を使用して、ローカルホスト上にないときに「www」を強制できます。

# Force www, if not in localhost
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

ここで、https も強制したいと思います (サイト全体が https の下になります)。これを htaccess に追加するにはどうすればよいですか?

このように htaccess を作成しようとしましたが、これによりローカルホストでも https が強制されます。

# Force https, if not in localhost
RewriteCond %{HTTP_HOST} !=localhost    
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Force www, if not in localhost
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

更新 1: 最初の を削除する必要があると思います[R=301,L]

更新 2: 次のような URL がある場合: https://scripts.domain.com、次のようになりたくありません: https://www.scripts.domain.com

4

1 に答える 1

5

最後のルールの上に次の行を追加します。

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]{3}$
于 2012-09-24T01:25:59.667 に答える