子目录中的Lighttpd url.rewrite-if-not-file

时间:2010-12-14 14:17:36

标签: php zend-framework mod-rewrite lighttpd

我需要一些url.rewrite-if-not-file的帮助。

我正在使用基于Zend Framework的应用程序,因此我的大部分请求都将被处理 /index.php到目前为止一切都很好。

但是,我有一些子应用程序必须在没有重定向的情况下工作。

例如,我需要dir / events中的所有请求才能导致该directoriy-index文件。

"/events/" => "/events/index.php",
"/events/?foo=bar" => "/events/index.php?foo=bar",
"/events/create/" => "/events/create/index.php"

等等

到目前为止我所拥有的是

url.rewrite-if-not-file = (
   "^/events/(.*)/$" => "/events/$1/index.php"
)

但是当谈到捕获GET变量并将它们放好时,我迷失了。

我试过了

"^/events/(.*)\??(.*)$" => "/events/$1/index.php?$2"

但这不起作用。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

阅读文档的the last section

所以试试这个:

"^/events/([^\?]*)(\?(.*))?$" => "/events/$1/index.php?$3"

不同之处在于你的第一个子模式中的.是贪婪的,所以它会吞噬?个字符,阻止它与其他部分匹配......