a を使用しRewriteCond
てクエリ文字列の内容を一致させます (RewriteRule
ディレクティブではswfTitle=sometitle.swf
読み込まれないfolder1/folder3
ためfolder1/folder2
、moviefolder
.
これは、正規表現パターンを使用([^&]+)
して、次のものまですべてを一致させ&
ます (別のクエリ パラメータを示します)。
# Capture everything after folder2 into %1
RewriteCond %{QUERY_STRING} moviefolder=folder1/folder2([^&]+) [NC]
# Capture everything in the swfTitle param into %2
# Both conditions must be matched...
RewriteCond %{QUERY_STRING} swfTitle=([^&]+) [NC]
# Then silently rewrite mypage.php to substitute folder3,
# and pass in the original swfTitle captured above
RewriteRule ^mypage\.php$ mypage.php?moviefolder=folder1/folder3%1&swfTitle=%2 [L]
folder1/folder3
再書き込みは 2 回目では一致し ないため、再書き込みループが発生しないことを願っています。[NC]
大文字と小文字を区別しない一致を許可します。
サンプル入力を使用して、http://htaccess.madewithlove.be/でこれをうまくテストできました。
http://example.com/mypage.php?swfTitle=thetitle.swf&moviefolder=folder1/folder2/thing
---> http://example.com/mypage.php?moviefolder=folder1/folder3/thing&swfTitle=thetitle.swf
http://example.com/mypage.php?moviefolder=folder1/folder2/thing999zzz&swfTitle=thetitle.swf
---> http://example.com/mypage.php?moviefolder=folder1/folder3/thing999zzz&swfTitle=thetitle.swf