.htaccessでhttps・httpのリダイレクトを設定する際、以下のような設定をしているのですが、
(※contactディレクトリをhttpsへリダイレクトする例)
RewriteEngine on # contactディレクトリ以下をhttps付きURLへリダイレクト RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} ^/contact/.*$ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] # contactディレクトリとメディアファイル以外をhttpのURLへリダイレクト RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} !(^/contact/.*$) RewriteCond %{REQUEST_URI} !(^.*\.(js|css|gif|jpg|png|ico)$) RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
「contactディレクトリとメディアファイル以外をhttpのURLへリダイレクト」部分で
以下の2種類の記述が考えられるのですが、この2つに違いはあるのでしょうか。
# 記述例1(グループ化したパターンを否定) RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} !(^/contact/.*$) RewriteCond %{REQUEST_URI} !(^.*\.(js|css|gif|jpg|png|ico)$) # 記述例2(グループ化せずに否定) RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} !^/contact/.*$ RewriteCond %{REQUEST_URI} !^.*\.(js|css|gif|jpg|png|ico)$
試したところどちらも問題なく動作していますが、グループ化しないといけない みたいなルールはあるのでしょうか。
ご教授頂ければ幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/24 05:27