当尝试将对一个目录的所有调用路由到该目录中的一个脚本时,我遇到了mod_rewrite的问题。这个简单的规则是在linux上工作:
RewriteRule * api.cgi
在这个操作系统的错误日志中,为此我得到了" RewriteRule:无法编译正则表达式' *'"。
我已经尝试过其他一些东西,mod重写正在处理一些匹配,但仅限于文件名而不是目录路径。
EG。 RewriteRule。* api.cgi - 将带有文件名的任何内容路由到api.cgi,证明它正在工作,但我想将/ api / config /路由到api.cgi。我似乎只能得到/api/config/something.something来实际强制重写 - 即它需要一个文件名。
有什么想法吗?我真的希望将这个目录中调用的所有内容路由到api.cgi,无论深度有多少目录,或者它的末尾是否有文件名。
谢谢, 马特
答案 0 :(得分:0)
您可以使用:
RewriteRule ^ api.cgi
但通常结果与
完全相同RewriteRule .* api.cgi
如果您做了很多测试,则可能是缓存问题。尝试清除缓存或使用其他浏览器。