次のようなURLを作成するphpページがあります。
vendors/London City/cat-DJ & Entertainment/keywords
以下に示すように、私の.htaccessはこれをリダイレクトします
RewriteRule vendors/(.+)/cat-(.+)/(.+)$ vendors.php?location=$1&category=$2&freetext=$3 [L]
RewriteRule vendors/(.+)/cat-(.+)/(.+)/$ vendors.php?location=$1&category=$2&freetext=$3 [L]
問題1は次のとおりです。vendors.phpファイルで、カテゴリとして「DJ;Entertainment」のみを取得しています。アンパサンドがありません。
問題2は次のとおりです。私の完全な.htaccessファイルを以下に示します... 6つのルールが定義されています。
RewriteRule vendors/(.+)/(.+)/$ vendors.php?location=$1&freetext=$2 [L]
RewriteRule vendors/(.+)/(.+)$ vendors.php?location=$1&freetext=$2 [L]
RewriteRule vendors/(.+)/cat-(.+)/$ vendors.php?location=$1&category=$2 [L]
RewriteRule vendors/(.+)/cat-(.+)$ vendors.php?location=$1&category=$2 [L]
RewriteRule vendors/(.+)/cat-(.+)/(.+)$ vendors.php?location=$1&category=$2&freetext=$3[L]
RewriteRule vendors/(.+)/cat-(.+)/(.+)/$ vendors.php?location=$1&category=$2&freetext=$3[L]
URLベンダー/ロンドンシティ/猫-DJ&エンターテインメント/キーワードがルール3または4と一致し、vendors.phpにリダイレクトするのはなぜですか?location = $ 1&category = $ 2?
.htaccessはルールを上から始めまで1つずつ処理しますか?
ルール5と6を他のルールの一番上に置くことで、問題を解決しました。正しい修正を行いましたか?