Lighttpd переписывает файлы и каталоги - PullRequest
0 голосов
/ 27 апреля 2010

Я пытаюсь переписать URL с помощью 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 голосов
/ 27 апреля 2010

Правило переписывания, подобное следующему, должно выполнить эту работу.В синтаксисе perl, предполагая, что $ str содержит http://domain.com/name/a/js/file.js

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

Экстраполируя из синтаксиса регулярного выражения, заданного для вашего частично работающего регулярного выражения, в Lighthttpd это должно соответствовать

  "/a/"=>"/"

Что это делаетis, ищет «/ a /» и заменяет это на «/».Применяя это к вашему примеру (http://domain.com/name/a/js/file.js) дает http://domain.com/name/js/file.js

...