2012-01-26 10 views
1

私の古いphpbbフォーラムURLにアクセスした訪問者を新しいURL構造にリダイレクトしたいと思います。
http://mydomain.com/phpbb/viewtopic.php?f=$var1&t=$var2(F = $ VAR1、T = $ var2の整数である)
mod_rewriteは2つの変数ですが、出力には1つしか必要ありません。

http://mydomain.com/topic/$var2


への私の.htaccessのmod_rewriteコード:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^phpbb/viewtopic\.php\?f=\d+&t=(\d+)$ topic/$2 [L] 
</IfModule> 

しかし、それは動作しません。どのように動作するコードを変更できますか?

答えて

1

サイトのルートフォルダにある.htaccessに以下を追加します。

RewriteEngine on 
RewriteBase/

#place these two lines before any other rules in your .htacess 
RewriteCond %{QUERY_STRING} (^|&)t=([0-9]+)(&|$) [NC] 
RewriteRule ^phpbb/viewtopic\.php$ /topic/%2? [L,R,NC] 
+0

それが動作ありがとうございます!しかしちょっとした間違い(私には気にしない)、それはURLの末尾に?f = 4&t = 517を追加する(http://mydomain.com/topic/517?f=4&t=517) – ProximityEffect

+1

@ProximityEffectは'? 'を実行すると上記のようにクエリ文字列 –

+0

が完全に削除されます。再度、感謝します! – ProximityEffect

0
RewriteEngine on 
RewriteBase /
RewriteCond %{QUERY_STRING}  \bt=([0-9]+) 
RewriteRule ^phpbb/viewtopic\.php topic/%1? [R=301,NC,L] 
関連する問題