代码之家  ›  专栏  ›  技术社区  ›  Ronald

Lighttpd重写文件和目录

  •  0
  • Ronald  · 技术社区  · 14 年前

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

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

    该php页面具有未被重写的外部资源,例如JavaScript和CSS文件。是否有一种方法可以让重写者执行以下操作?

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

    1 回复  |  直到 14 年前
        1
  •  0
  •   Jasmeet    14 年前

    下面这样的重写规则应该可以完成这项工作。在perl语法中,假设$str包含 http://domain.com/name/a/js/file.js

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

    从为部分工作的regex提供的regex语法推断,在Lighthttpd中,这应该映射到

      "/a/"=>"/"
    

    它的作用是查找“/a/”并将其替换为“/”。将此应用于您的示例( http://domain.com/name/a/js/file.js )给予 http://domain.com/name/js/file.js