2012-02-08 7 views
0

私はこの特定のmod_rewriteルールを他のいくつかの場所で使用しており、期待どおりに動作します。しかし、ここでは働いていないし、私の人生のためになぜ私は見ることができない。次のようにmod_rewriteルールが正しく動作しない

セットアップは次のとおりです。

www.site.com/villas-in-florida/ 

.htaccessファイルが上記のディレクトリにあり、それには次の通りです:

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine On 

RewriteRule ^([^/]+)-([^/]+)-([^/]+)-([^/]+)$ show-villa.php?id=$1&name=$2&location=$3&state=$4 [L] 

これは以下を変換する必要があります

http://www.site.com/villas-in-florida/show-villa.php?id=1&name=calabay-parc&location=davenport&state=florida 

中:

http://www.site.com/villas-in-florida/1-calabay-parc-davenport-florida 

しかし、そうではありません。私は今、実際の髪を裂いています。すべてのヒントは感謝して感謝します、ありがとう!文句を言わない

+0

問題がcalabay-parc' 'すなわち場所に – anubhava

+0

@anubhavaをお使いの区切りにハイフンを' -'使用している私は削除しましたどちらにもサイコロはありません! – Trell

+0

HmmはあなたのターゲットURLにまだ '&name = calabay-parc'を表示しています。 – anubhava

答えて

1

それは変換:中へ

http://www.site.com/villas-in-florida/show-villa.php?id=1&name=calabay-parc&location=davenport&state=florida 

http://www.site.com/villas-in-florida/1-calabay-parc-davenport-florida 

そのを他の方法で回避。すなわち

それは(変換されない)リライトします:

http://www.site.com/villas-in-florida/1-calabay-parc-davenport-florida 

の中へ:

http://www.site.com/villas-in-florida/show-villa.php?id=1&name=calabay-parc&location=davenport&state=florida 

あなたのh refsないhttp://www.site.com/villas-in-florida/show-villa.php?id=1&name=calabay-parc&location=davenport&state=floridahttp://www.site.com/villas-in-florida/1-calabay-parc-davenport-floridaのようなURLを使用する必要があります。書き換えられたURLはブラウザに反映されません。

ものRewriteRuleで小さなミスがあります。 「名前」から、それなしで試してみましたので、calabayparcは、その後も試みcalabay_parc calabayparcになった -

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine On 

RewriteRule ^([^/]+)-([^/]+)-([^/]+)-([^/]+)-([^/]+)$ show-villa.php?id=$1&name=$2-$3&location=$4&state=$5 [L] 
+0

認められたが、しかし、あなたは+ $の前に)最終的に不足していることで、私のサイトを破った:Pは、私もそれをキャッチし、あなたの答えに感謝LOT。あなたが言ったように、2つの別個の入力として「calabay」と「parc」を取っていました。あなたはスターです! – Trell

+0

@Trellようこそ。 – ThinkingMonkey

関連する問題