Я пытаюсь переписать 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
Правило переписывания, подобное следующему, должно выполнить эту работу.В синтаксисе 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