2012-01-26 9 views
2

どのように私はhtaccessファイルとPHP REQUEST_URIを分析したり、QUERY_STRING

/error/access/notallowed

のような優しいURLをキャッチし、

error.php?$1=$2

にそれを打破するためにhtaccessファイルを使用しますが、本当の問題があることができます私は別のURLを持っている場合

/something/name/joe/address/123_Maples_Lane/city/somewhere

とし、すべての奇数セグメントが偶数セグメントのキー値ペアであれば同じことを動的に実行します。

セグメント分割を行うにはPHPが必要ですか、htaccessを使用してその場でクエリを作成できますか?

答えて

2

apacheは、PCRE式で機能しなくてはならないため、任意の数のパラメータで書き換えを作成することはできません。これを行うにはPHPを使用する必要があります。 index.php/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT] 

この意志ルートすべて存在しない要求をし、要求がパスになります。しかし、Apacheは、まだ関与しています。次に、index.phpにパスを細分化することができます。

+0

ああ、私が考えていたものをthatsの。ですから、index.phpのあなたの例から、私は$ _GETを分割しますか?そのリクエストはどのように見えますか? QUERY_STRINGを分割しますか? – Eli

+0

あなたが分割します '_SERVER [REQUEST_URI]'。 '_SERVERは、[PATH_INFO]'利用可能な場合、それはさらに良いですが、それは常に利用可能ではありません。 –

+0

ありがとう、私はそれを試してみると、私は何を参照してください。 – Eli

関連する問題