あるページから別のページへのURLの書き換え

私は次のようなURLを持っています

www.testwebsite.com?param1=abc
or
www.testwebsite.com/?param1=abc

私はリダイレクトする必要があります

www.testwebsite.com/level1/xyz.html?customparam=123¶m1=abc

私は書き直しURLの作業を試みたが、私はまだこれに新しいと解決策を達成するためにいくつかの助けが必要です

これは今まで私がやったことです

RewriteCond %{QUERY_STRING} param1=(.+) 
RewriteRule ^/$ /level1/xyz.html?customparam=123¶m1=%1 [R=301,L]
0

1 答え

サイトのルートディレクトリにある .htaccess ファイルに次の行を追加してみてください。

param1のみがキャプチャされてパススルーされ、他のクエリ文字列パラメータは破棄されます。

RewriteEngine on
RewriteBase/

#if the param1 parameter is present
RewriteCond %{QUERY_STRING} (^|&)(param1=([^&]+))(&|$) [NC] 
#redirect
RewriteRule ^$ level1/xyz.html?customparam=123&%2 [L,R=301] 
0
追加された
@ user1192454 param1を通過するだけの編集を見る
追加された 著者 Ulrich Palha,
ありがとうございますUlrich、しかし、私はこのURLで行う必要があることがもう一つあります。URLはこのようなことができますwww.testwebsite.com?param1=abc¶m2=xyzリダイレクト後に新しいクエリ文字列にparam2は必要ありません
追加された 著者 Rohit,
ありがとうございました。
追加された 著者 Rohit,