我想将一些运行在apache上的站点迁移到Lighttpd。
有没有人能帮我把这个重写规则转换成Lighttpd的等效规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]我正在阅读Lighttpd重写解释(http://redmine.lighttpd.net/wiki/1/Docs:ModRewrite),但我不明白如何转换这个特定的规则。
非常感谢
发布于 2009-12-11 15:40:04
Apache规则您列出的use RewriteCond to take any request不会转到目录(!-d),也不会转到文件(!-f),并将其重定向为将URL数据作为参数"url“传递到index.php中。它确保保留任何其他CGI参数(QSA),并且如果此规则匹配(L),则不再匹配其他规则。
所以http://yourserver.org/something-silly会转到http://yourserver.org/index.ph?url=something-silly,http://yourserver.org/something-silly?q=search+terms会转到http://yourserver.org/index.ph?url=something-silly&q=search-terms
部分实现了这一点的Lighttpd has url.rewrite-if-not-file,但如果它是一个目录,它将重写URL。因此,您必须添加规则,明确不重写转到已知有效目录的URL。
https://stackoverflow.com/questions/1885767
复制相似问题