2012-01-30 9 views
0

を与えます/pages/dashboard.php "のように表示されます。

私は間違っていますか?私はこれを理解できません。

+0

フレームワークを使用していますか、あるいは単なるPHPですか? – jprofitt

+0

これはVPS上のプレーンなPHPです。これはapache設定の問題の一種かもしれませんか?私はgoogleを使用しているときにこれで何かを見つけることができません。 – OMGKurtNilsen

+0

'var_dump($ _GET)'や 'var_dump($ _REQUEST)'は何か助けになりますか? – jprofitt

答えて

2

これを解決するには、もう1つ前に次のルールを追加します。

RewriteRule  ^index.php$ - [L] 

TerryEが指摘:それはきれいなパスを取得するまで書き換えエンジンは、.htaccessの ファイルをループperdir文脈では

を。

mod_rewriteは、最初のリライトの結果もルールと一致したため、URLを2回書き直しました。

+0

perdirコンテキストでは、書き換えエンジンはクリーンなパスを取得するまで '.htaccess'ファイルをループします。あなたの追加のルールは、この "最後のパス"を2回目の繰り返しで発生させてから、前の最初のルールを反復してから、 'backend/test/pages/dashboard.php' - >' backend/index.php?path = test/pages/dashboard.php' - > 'backend/index.php?path = index' - >' backend/index.php?path = index'(変更がないので終了します)私の説明を理解する? – TerryE

+0

ええと、結局、書き直しが2回以上行われていることが分かりました。 [L]でこの新しいルールを追加すると、index.phpファイルを書き換えられなくなります。最終的に、一致の拡張子を.htmlに変更し、そのように修正しました。 – OMGKurtNilsen

+0

あなたはまた、 'RewriteCond $ 1!= index'を既存のルールに追加して、これらの状況で発火するのを防ぐことができます – TerryE

関連する問題