URL-адреса, соответствующие второму правилу, также будут соответствовать первому правилу.Поскольку первое правило помечено буквой «L», второе правило никогда не будет применено.
Возможно, вам следует сопоставлять абсолютные URL-адреса - начинайте регулярное выражение с ^/
, чтобы соответствовать началу URL-адреса, и заканчивайте его$
, чтобы соответствовать концу URL.Помните, что правила перезаписи применяются к пути URL (все, что следует за website.com, включая косую черту).
Например (конечно, это не проверялось):
# Example: website.com/books.php -> website.com/index.php?com=cat&catname=books
RewriteRule ^/([^/]+).php$ /index.php?com=cat&catname=$1 [L]
# Example: website.com/books/java.php -> website.com/index.php?com=detail&catname=books&prodname=java
RewriteRule ^/([^/]+)/([^/]+).php$ /index.php?com=detail&catname=$1prodname=$2 [L]