RentriteCond,插入符号无效

时间:2015-10-21 22:12:21

标签: apache .htaccess

这是我写的.htaccess文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} ^api
RewriteRule (.+) test/$1.php [L]

现在,如果我进入浏览器并输入/api/asdf,我就不会/test/api/asdf。如果我删除插入符号,它会按预期工作。同样有趣的是,如果我在浏览器中输入/bapi/asdf,它就不起作用了,这似乎是倒退的,因为没有插入符号。

我做错了吗?如果插入符不起作用,我如何匹配REQUEST_FILENAME的开头?

1 个答案:

答案 0 :(得分:0)

%{REQUEST_FILENAME}变量不会以api开头。因此^api表达式永远不会匹配。请求文件名是请求应映射到的本地文件系统路径。

你可以试试这个:

RewriteEngine On
RewriteRule ^(api.+) test/$1.php [L]

匹配以/api开头的请求。