やりたいこと
- /foo/bar#!test1 ⇒ /foo/bar#!test2 のようなリダイレクトをしたい
shebang(#!) ってなに?
hash(#)、bang(!)でshebang(シバン)というもの。
hash = フラグメント、Ajax対応
bang = googlebotでのクロール対応
という感じですかね。
mod_rewrite設定
shebang 以下は # でフラグメントとなるため、 apache の REQUEST_URI 変数には /foo/bar
しか入ってこない。shebang での条件判定は実現不可なようす・・・
RewriteRule ^/foo/bar#!test1$ /foo/bar#!test2 [R] # shebangでの条件判定はできない
RewriteRule ^/foo/bar$ /foo/bar#!test2 [R,NE] # NEでエスケープさせないようにして転送は可能