这是我写的.htaccess文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} ^api
RewriteRule (.+) test/$1.php [L]
现在,如果我进入浏览器并输入/api/asdf
,我就不会/test/api/asdf
。如果我删除插入符号,它会按预期工作。同样有趣的是,如果我在浏览器中输入/bapi/asdf
,它就不起作用了,这似乎是倒退的,因为没有插入符号。
我做错了吗?如果插入符不起作用,我如何匹配REQUEST_FILENAME
的开头?
答案 0 :(得分:0)
%{REQUEST_FILENAME}
变量不会以api
开头。因此^api
表达式永远不会匹配。请求文件名是请求应映射到的本地文件系统路径。
你可以试试这个:
RewriteEngine On
RewriteRule ^(api.+) test/$1.php [L]
匹配以/api
开头的请求。