2011-12-06 27 views
0

私はURLが/content/sell.htm?ld=a&id=b&_escape_fragment_=how-it-works であり、mod_rewriteを使用してURL形式/details?pageIdent=<parameter after _escape_fragment_> & <rest of query string as it is>にリダイレクトしたいと思います。mod_rewriteファイルの特定の単語の前に残りの検索文字列を見つける

この場合、サーバーのURLは/details?pageIdent=how-it-works&ld=a&id=bになります。

私は_escape_fragment_のパラメータ値を取得するために次の書き換えルールを書いていますが、残りのクエリ文字列をそのまま取得するルールは書き込めません。

RewriteCond %{QUERY_STRING} (?:^|&)_escaped_fragment_=([^&]+) 
RewriteRule ^/content/sell\.htm /details?pageIdent=%1 [L,R=301] 

クエリ文字列の残りの部分を取得し、それをそのまま最終URLの末尾に追加するのに役立ちますか?私は自分自身を説明することにいくつかの意味を作ったことを望む。

誰かが説明できる場合、正規表現(?:^|&)が示すものもあります。私はちょうどそれをどこかからコピーしました。

おかげ

Jitendra

答えて

0

は、QSAはあなたが望むものを与えるものではありませ渡ししていますか?私はあなたがすでに書き換えルールにargsを持っているとき、それがどのように動作するかを知ることに興味があります。

RewriteRule ^/content/sell\.htm /details?pageIdent=%1 [L,R=301,QSA] 
+0

QSAは完全なクエリ文字列を追加します。 _escape_fragment_パラメータをもう一度追加したくありません。 – RandomQuestion

関連する問題