2011-10-19 12 views
1

誰かがこの作業を手助けできるなら、大いに感謝します。私の単純な書き換えコードがリダイレクトループを引き起こすのはなぜですか?

私の書き換えを維持しながら、私はdomain.com/page/hellodomain.com/painting.php?name=helloリダイレクトを作るしようとしている:

RewriteCond %{QUERY_STRING} name=([^&]+) 
RewriteRule ^painting\.php$ /page/%1? [R=301,L] #redirects to page 
RewriteRule ^page/([^/\.]+)/?$ painting.php?name=$1 [L] #rewrites painting 

私は「かなりのURLを」維持したいと思います。助けてください。

ここで見つけるの答え:私はあなたが実際に何をしたいと仮定していsimple 301 redirect with variable not working, why?

+2

ペイントをページにリダイレクトし、後でページをペイントにリダイレクトするためです。 – Dani

+0

2行目と3行目を入れ替えるとどうなりますか?また、最初の行にQSAフラグを追加してみてください。[QSA、L] – JoLoCo

+0

私は@JoLoCoを持っています - あなたの書き換えを書き直すと思います。スワップして何が起こるかを見てください。 –

答えて

1

domain.com/painting.php?name=helloに(目に見えない)URL domain.com/page/helloを受け入れ、それを書き換えることができるようです。その場合は、これを試してください

RewriteRule ^page/([^/.])+/?$ painting.php?name=$1 [QSA,L] 
+0

私の言葉に入れてくれてありがとう:)残念ながら私はこのコードで500の内部エラーを受け取ります。 – checkenginelight

+0

@checkenginelight Oops、typo(missing ') '))。今すぐ修正 – Phil

関連する問題