目前我在simple-hosts.conf中有这个设置:
url.rewrite-once = (
".*.(js|ico|gif|jpg|png|css|php|htm)(?.*)?$" => "$0",
"/slapi" => "/slapi/index.php"
)
效果很好,但是当我在查询字符串中有一个点时,上述操作失败了:
?URL = http://google.com
答案 0 :(得分:3)
为什么不使用server.error-handler-404 = "/path/to/index.php"
?
但至于正则表达式本身,你有许多未转义的字符。第二个.
我假设你的意思是文字.
。如果是这样,您需要使用反斜杠\.
来转义它。同样的是?字符(再次,我假设你的意思是字面意思?)。所以正则表达式应该是:
".*\\.(js|ico|gif|jpg|png|css|php|htm)(\\?.*)?$"
另外,你可以通过删除查询模式周围的问号来进一步改进它(我更喜欢这种语法,我觉得它更容易阅读):
".*\\.(js|ico|gif|jpg|png|css|php|htm)(\\?.*|)$"