2011-10-27 12 views
0

私は.htaccessファイルを幸いに書いて、/conferences/details/21から/index.php?pages=conferences&var1=details&var2=21のように書いています。古いURLを新しいクリーンなものに書き換える

私はPiwikのような

http://www.domain.com/index.cfm?page=conference&intConferenceID=81 

としてURLを(それが再実行非常に新しいサイトです)そのURLを更新していないサイトからの紹介の多くを示しているこのサイトを、トラッキングと持っています

http://www.domain.com/index.cfm?page=conference&intConferenceID=88&type=conference 

/conferences/details/[numeric ID seen above]に書き直したいと思います。

私はこれを試してみた:

RewriteRule ^index.cfm?page=conference&intConferenceID=(\d+)/?$ /conferences/details/$1 [L,NC,QSA] 

はObvisouly第二の例を無視します。しかし、私にはindex.cfmという404が見つかりません。

上記の書式設定されたリンク(IDが変更されます)を書き換えて書き換える必要がある書き換えルールは、/conferences/details/[ID]ですか?

答えて

1

あなたがするRewriteCondからクエリ文字列を抽出することができます。

「詳細」 /foo/bar/21に基づいてどこから来る
RewriteCond %{REQUEST_URI} ^/index.cfm 
RewriteCond %{QUERY_STRING} page=(.+)&intConferenceID=([^&]+) 
RewriteRule . /%1/details/%2 [L] 

わからない - >/index.php?f=foo&b=bar&arg=21書き換え。

+0

ありがとうございました。 'details'はきれいなURLから来ます。これは' /conferences/ details/21'です。私はそれに応じて私の質問を編集しました。 – Bojangles

+0

基本的に、RewriteRuleはクエリ文字列を書き換えず、パスだけを書き換えます。 RewriteCondを使用してクエリ文字列を照合し、それらの一致に% –

関連する問題