Lighttpd重写

时间:2011-01-31 19:35:29

标签: rewrite lighttpd

Lighttpd Rewrite和静态文件存在问题。

这是我的重写语法:

url.rewrite = (
    "^/(.*)\.(php|css|js|jpg|png)$" => "$0",
    "^/(.+)$" => "/router.php?url=$1"
)

所有.css和.js文件加载都很好但没有图像加载。我试图检查文件是否从/ images提供,但不能解决问题。我检查了访问日志,所有css和js文件都有200状态,但所有图像文件都有404.路径是正确的。

有没有人知道为什么.css和.js文件会正确加载但图片没有。

2 个答案:

答案 0 :(得分:0)

必须尝试删除前导“/”,或者将其设为可选,如下所示:

url.rewrite = (
    "^/?(.*)\.(php|css|js|jpg|png)$" => "$0",
    "^/?(.+)$" => "/router.php?url=$1"
)

此外,您应该使用url.rewrite-once并且可以 - 如果您的lighttpd是> 1.4.24 - 使用url.rewrite-if-not-file,这可以使CSS,JS和图像等现有文件更轻松。

请参阅Lighty-Docs on mod_rewrite

答案 1 :(得分:0)

url.rewrite-if-not-file对我的vbulletin非常有帮助 - vbseo lighttpd重写问题。此外,我认为它可以加速比较过程,同时重写模块在lighttpd中运行。