リダイレクトする必要があります:
example.com/wiki/?t=1234
に
example.com/vb/showthread.php?t=1234
番号「1234」は、番号の異なる数百ページです。
.htaccessを試してみましたが、機能しません。
RewriteCond %{QUERY_STRING} t=[0-9]
RewriteRule ^(.*)$ /vb/showthread.php?t=$1 [L]
RewriteCond %{QUERY_STRING} t=[0-9] RewriteRule ^(.*)$ /vb/showthread.php?t=$1 [L]
これはmatchリクエストになりますが、意図したとおりにリダイレクトされません($1
はRewriteRule
patternでキャプチャされたグループへの後方参照です。クエリ文字列ではありません)。述べたように、これも内部書き換えであり、「リダイレクト」ではありません。
To redirect/wiki/?t=1234
to /vb/showthread.php?t=1234
、ここで1234
は変数である場合、代わりに次のようなことを行う必要があります。
RewriteCond %{QUERY_STRING} ^t=(\d+)
RewriteRule ^wiki/$ /vb/showthread.php?t=%1 [R=302,L]
これは、URLパス/wiki/
と、t=
で始まり1桁以上のクエリ文字列と一致します。数字は正規表現(\d+)
によってキャプチャされます。
%1
後方参照(%
ではなく$
に注意)は、前のCondPatternでキャプチャされたグループへの後方参照です。
これは302(一時的な)リダイレクトであることに注意してください。ただし、正常に機能していることが確実になるまで、これを変更しないでください。