簡単な.htaccessファイルがあります。
RewriteEngine on
RewriteRule ^(.+)-([0-9]+)\.html$ book.php?title=$1&id=$2
RewriteRule ^(.+)\.html$ search.php?search=$1
ユーザーが「php-for-dumies-10.html」と入力すると、「book.php?title = php-for-dummies&id=10」として提供されます。それはうまくいきます。
ユーザーが「phpbook.html」と入力すると、「search.php?search=phpbook」として提供されます。それもうまくいきます。
問題は、ユーザーが「 book.php?title = directory / php-for-dumies&id =10」を期待どおりに取得する代わりに「 directory/php-for-dumies-10.html」(URLにディレクトリを追加)を入力した場合です。 、「search.php?search = book.php/php-for-dumies-10」を取得しています
最初のRewriteRuleの代わりに2番目のRewriteRuleが実行されるのはなぜですか?スラッシュを追加しているからですか?さらに重要なのは、「book.php /php-for-dummies-10」パラメーターはどこから来ているのでしょうか。
助けてくれてありがとう。