У меня был похожий случай, когда мы переместили много файлов в новую структуру папок:
Старая структура:
/css/
/images/
/js
/*.html
Новая структура:
/common/css/
/common/images/
/common/js
/<various_html_folders/*.html
Проблема заключалась в том, что мои html-файлы ссылались на css, js и images по относительным путям, и с новой структурой мне пришлось бы обновлять тысячи этих ссылок.
Поэтому я наткнулся на mod_rewrite в Apache, который переписываетТело ответа до его отправки клиенту.Я добавил следующие 4 строки в мой файл .htaccess, чтобы изменить все href="css/
на href="/common/css/"
:
AddOutputFilterByType SUBSTITUTE text/html
Substitute 's|href="css/|="/common/css/|i'
Substitute 's|href="js/|="/common/js/|i'
Substitute 's|href="images/|="/common/images/|i'
И вуаля!css, javascripts и изображения работают, как и раньше, без обновления каких-либо моих html-файлов.
Отказ от ответственности: Я еще не исследовал влияние этого на производительность.Помните, что регулярное выражение выполняется во всем теле ответа для каждой добавляемой строки Substitute
.