▼ [Apache] Mod_rewriteの罠
2007/07/16 11:46
罠1. Mod_rewriteのRewriteCondは、その後に出現する最初のRewriteRuleのみに適用される。という罠に引っかかった。以下のような記載をした場合、1番目はGETのみに限定することが出来るが、2番目のルールはすべてのメソッドに対して適用されてしまう。
RewriteCond %REQUEST_METHOD ^GET$ RewriteRule ^/diary/adiary.cgi$ /diary/ [R=301,L] RewriteRule ^/diary/adiary.cgi/+([0-9].*)?$ /diary/$1 [R=301,L]
2番目もGETのみに制限するためには、以下の通りに記載するべきである。
RewriteCond %REQUEST_METHOD ^GET$ RewriteRule ^/diary/adiary.cgi$ /diary/ [R=301,L] RewriteCond %REQUEST_METHOD ^GET$ RewriteRule ^/diary/adiary.cgi/+([0-9].*)?$ /diary/$1 [R=301,L]
罠2. Mod_rewrite と Alias, ScriptAlias, Redirect などを併用するためには、[PT] フラグを指定する必要がある。Mod_rewrite で出来る処理であれば、それだけで完結させる方が良いかもしれない。
▼ コメント(0件)
- TB-URL(確認後に公開) http://diary.asuka.net/02/tb/
