RewriteRule
上的当前/apis
失败(必须返回index.php?url = apis)
RewriteRule ^api\/?([^\/]*)$ index.php?api&url=$1 [QSA,L]
RewriteRule ^([^.]*)$ index.php?url=$1 [QSA,L]
有效:
[empty]
失败:
更新: /api
之后的任何字符如果不以斜杠/
开头必须返回index.php?url = [any character]
- / apirf8ty76必须返回索引.PHP?URL = apirf8ty76
/ api仍然必须返回index.php?api& url = [empty]
和/ api / user return index.php?api& url = user
答案 0 :(得分:1)
在第一个正则表达式中使用否定前瞻,如下所示:
RewriteRule ^api(?!s)\/?([^\/]*)$ index.php?api&url=$1
应该做你想做的事。
答案 1 :(得分:1)
将您的条件更改为此以使其正常工作:
RewriteRule ^api(?:/([^/]*))?$ index.php?api&url=$1 [QSA,L,NC]
RewriteRule ^([^.]*)$ index.php?url=$1 [QSA,L]