lighttpd url.rewrite删除部分网址

时间:2017-02-17 09:27:35

标签: url mod-rewrite replace url-rewriting lighttpd

我在发送文件之前尝试替换部分网址。

我打电话

localhost:8080/files/page_home.d41d8.js

并希望修改对

的调用
/files/page_home.js

之后,文件将由lighttpd直接发送,而不是提交给fastcgi后端。

我尝试了以下内容:

server.modules += ( "mod_fastcgi", "mod_rewrite" )

url.rewrite = ("^/files/(([a-zA-Z0-9_]+))\.(([a-zA-Z0-9]))\.js$" => "/files/$1.js") 


$HTTP["url"] !~ "^/files/" {

fastcgi.server = (
        "/" => ((
                "bin-path" => "/srv/www/cppapp/dist/Debug/GNU-Linux/cppapp.exe",
                "bin-environment" => (
                "LD_LIBRARY_PATH" => ""
                ),
                "socket" => "/tmp/cppapp-fastcgi-socket",
#               # only 1 process !
                "max-procs" => 1,
                "check-local" => "disable",
#               "broken-scriptfilename" => "enable"
                "fix-root-scriptname" => "enable",
        ))
)

}

当我查看日志时,部分" .d41d8。"没有被替换。

你们有没有人有更换那部分的小费?

非常感谢,

亚历

1 个答案:

答案 0 :(得分:0)

如果有人在将来搜索答案:问题是正则表达式“^ / files /(([a-zA-Z0-9 _] +))。(([a-zA-Z0-9]) ).js文件$”。第二部分只匹配一个字符/数字。正确的版本是“^ / files /(([a-zA-Z0-9 _] +))。(([a-zA-Z0-9] + ))。js $”< / p>