htaccess规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)_p([0-9]+).html$ $1.html?_pn=$2&%{QUERY_STRING}
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ index.php?param=$1&%{QUERY_STRING} [L,NC]
输入网址 - http://localhost/blabla/blablabla.html
结果
Array
(
[param] => blabla/blablabla
)
但是 输入网址 - http://localhost/blabla/blablabla_p2.html
结果
Array
(
[param] => blabla/blablabla.html/blabla/blablabla_p2
[_pn] => 2
)
这是什么“/ blabla / blablabla_p2”
但我需要
Array
(
[param] => blabla/blablabla
[_pn] => 2
)
答案 0 :(得分:0)
将[L]
放在第一个RewriteRule
后面。
否则,重写将继续,并且您从规则1重新编写的新URL将传递给规则二。