====== mod_rewrite ====== 強制的にSSLでアクセスして欲しい場合 RewriteEngine on #SSLアクセスしてほしいページ RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{HTTP_HOST}/$1 [L,R] 存在しないファイルやディレクトリにアクセスの場合、トップページ表示 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.*$ / [L] ===== RewriteRuleのフラグ ===== ^フラグ^意味^説明^ |C|Chain|このルールにマッチしたら、次のルールを評価| |F|Forbidden|アクセス禁止(403-Forbidden)。[L]フラグと同様、以降のルールは無視される| |G|Gone|削除(410-Gone)| |L|Last マッチしたらRewriteを止めます。以降のルールは無視!| |NC|No Case|大文字小文字を無視| |NE|No Escape|".", "?", "%"などの特殊文字が"%25″のようにエンコードされるのを防ぐ| |OR|Or|RewriteCondを複数指定する場合のor指定。指定なしならAND| |PT|Path Through|Rewriteを終了し、それ以外の処理に移行| |R|Redirect|指定したURLにリダイレクト。 \\ [R=303]のようにリダイレクトコードも付加できる。[L]フラグと同様、以降のルールは無視される| {{tag>mod_rewrite}}