mod_rewrite を使用して URL のパスとファイル名を変更するにはどうすればよいですか
-
01-07-2019 - |
質問
URLを取得したい:http://www.mydomain.com/signup-12345
そして実際に彼らに次のものを与えます:http://www.mydomain.com/signup/?aff=12345
mod_rewrite を使用した履歴はありません。助けてください。
解決
見つけるのが比較的難しいと感じたのは、今行っていることの逆を行う方法、つまりクエリ文字列の一部の値を見つける必要があることです。
たとえば、次のようになります。
URL を書き換えたい場合は、次のようにします。http://www.example.com/signup-古い-脚本。アスプ?アフ=12345
に:http://www.example.com/signup-新しい-脚本。php?アフィID=12345
使用できます:
RewriteCond %{query_string}& ^aff=((.+&)|&)$
RewriteRule ^/signup-old-script.asp$ /signup-new-script.php?affID=%2 [L,R]
注目してください % の代わりに書き換えルールにサインインします。 $ サイン。
クエリ文字列に ID を持つ ".cfm" ファイルへのリンクがある新しいサイトで古いフラッシュ マップをサポートできるように、これを行う必要がありました。
他のヒント
これを試して :
RewriteRule ^/signup-(\d+)/$ /signup/?aff=$1 [I]
私の知る限りでは、
フラグにより RewriteCond が無視されます。 - 「大文字と小文字を区別する」の場合 - から IsapiRewrite
バージョン2
所属していません StackOverflow