2011-03-22 18 views
0

私は、htaccessを使用してGET変数を持つURIをより使いやすいものに書き換える古いCMSで作業しています。動的変数を使用したhtaccessリダイレクト

http://www.example.com/animals/duck 

に問題が、私は今、新しいページに、それらのページの一部をリダイレクトする必要がある(正確に)結果

RewriteEngine on 
RewriteRule ^animals/(.*)/ secondary.php?page=$1 
RewriteRule ^animals/(.*) secondary.php?page=$1 

Redirect 301 /animals/goose http://www.example.com/animals/fowl 

リダイレクトはほとんど動作しますが、それは書き換えられたURIの最後に「ページ=ガチョウの?」を追加:私が試しただけでなく、

http://www.example.com/animals/fowl?page=goose 

私はのRewriteRuleを使って試してみましたRewriteCond、しかし不幸なことに私は運がない。どんな助けも非常に高く評価されます。

答えて

0

Redirectステートメントではなく他のルールの前に配置してください。 R=301は、リダイレクト用であり、問​​題のルールが処理される最後のルールであることを示す信号です(L)。

RewriteRule ^animals/goose /animals/fowl [R=301,L] 

また、あなたは簡単に、疑問符を持つオプション(ちょうど他の文字と同様)、スラッシュを作ることができる代わりに、2つのルールを持ちます。

RewriteRule ^animals/(.*)/?$ secondary.php?page=$1 
+0

すばやくご回答いただきありがとうございます。私は一度にたくさんのものを変えていたと思う。私はファイルのルールのトップを置いて私の問題を修正したようだ。どうもありがとう。 – kworry

関連する問題