我的简单重写规则不起作用


My simple rewrite rule is not working

规则1

RewriteRule ^ajax/([0-9]+)$ ajax.php?module=$1 [NC,L]

规则2

RewriteRule ^([a-zA-Z0-9'/'-'ñ]+)$ index.php?el9sJ6Fe%gY=$1

我想要的是,如果url是类似的东西:

mysite/ajax/7

转到

mysite/ajax.php?模块=6//或任意数量的

如果url类似

mysite/这里有什么/转到索引

转到

mysite/index.php?el9sJ6Fe%gY=字符//任何字符或任何数字[a-zA-Z0-9/-''ñ]

它适用于第二条规则,但不适用于第一条规则,因为浏览器转到ajax.php,但我在$_GET中有一个空数组感谢并抱歉使用了糟糕的语言

首先,确保Multiviews已关闭。其次,确保规则的顺序正确:

Options -Multiviews
RewriteEngine On
RewriteRule ^ajax/([0-9]+)$ ajax.php?module=$1 [NC,L,QSA]
RewriteRule ^([a-zA-Z0-9'/'-'ñ]+)$ index.php?el9sJ6Fe%gY=$1 [L,QSA]

尝试这个而不是第一条规则

重写规则^ajax/([0-9]+)$ajax.php?模块=$1[PT]