Lighttpd重写文件和目录

时间:2010-04-27 04:07:15

标签: regex mod-rewrite rewrite lighttpd

我正在尝试使用Lighttpd进行网址重写。我有我需要的部分工作。现在我有这个: http://domain.com/name/a/123重写为http://domain.com/name/a.php?pid=123

我使用这一重写一次规则执行此操作:“^ / name / a /([^ /] +)”=> “/name/a.php?pid=$1”

该php页面具有未被重写的外部资源,例如JavaScript和CSS文件。有没有办法我也可以重写做以下事情?

http://domain.com/name/a/js/file.js => http://domain.com/name/js/file.js

1 个答案:

答案 0 :(得分:0)

如下所示的重写规则应该可以胜任。在perl语法中,假设$ str包含http://domain.com/name/a/js/file.js

   $str =~ s/\/a\//\//

从为部分工作的正则表达式提供的正则表达式语法推断,在Lighthttpd中这应该映射到

  "/a/"=>"/"

这样做,查找“/ a /”并用“/”替换它。将此应用于您的示例(http://domain.com/name/a/js/file.js)会产生http://domain.com/name/js/file.js