2011-01-01 26 views
0

私のウェブサイトがwww.example.comhtaccessファイルのクエリ文字列ベースのURL

以前の私のウェブサイトのURLは、このwww.example.com/php/bookdetails.php?bid=33よう

だったと仮定しています先週、私はこのwww.example.com/bookdetails/33

に自分のサイトのURLを変更し、この

RewriteRule ^bookdetails/(.*)$ php/bookSearchResult.php?bid=$1 
0のようなhtaccesを書きました

問題は、私の以前のURL構造(www.example.com/php/bookdetails.php?bid=33)を使用している外部サイトがあり、私が望むのはそれを新しいURL構造(www.example.com/bookdetails/33)。

私はそれがhtaccessファイルで可能でできるけど、私はを参照して数、新しいURLをキャプチャ、古い形式に一致する

答えて

1

RewriteRule ^php/bookdetails\.php\?bid=(\d+)$ bookdetails/$1 [L,R=301]

にPCREをどのように行うのか見当がつかない最後のルール、HTTPステータスのリダイレクト301(永続的に移動)

)構文はテストされていますが、正確にはであることを保証するものではありません。それは近いはずです)

このルールが適切なPHP URLに書き直す前になっていることを確認してください。そうしないと、無限にループして書き換えを行うことはできません。

Rewrite GuideおよびAdvanced Rewrite Guideは、例にとって非常に貴重なリソースです。

EDIT:

ところで、これは追加のアイデアを.htaccess and seo friendly urlsの複製、およびおそらくいくつかの他は、です。 (私はdupを最初に探していたはずです)

関連する問題