0

私は、htaccessを使用してGET変数を含むURIをよりユーザーフレンドリーなものに書き換える古いCMSで作業しています。

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

その結果(正しく)

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

問題は、これらのページの一部を新しいページにリダイレクトする必要があることです。私はもう試した:

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

リダイレクトはほぼ機​​能しますが、書き換えられたURIの最後に「?page=goose」が追加されます。

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

RewriteRuleとRewriteCondを使ってみましたが、残念ながら運がありません。どんな助けでも大歓迎です。

4

1 に答える 1

0

Redirectステートメントの代わりに、これを他のルールの前に配置してみてください。R=301リダイレクト用でありL、問​​題のルールが処理される最後のルールであることを通知します。

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

また、2つのルールを使用する代わりに、(他の文字と同じように)スラッシュを疑問符で簡単にオプションにすることができます。

RewriteRule ^animals/(.*)/?$ secondary.php?page=$1
于 2011-03-23T02:32:50.403 に答える