.htaccess - Настройка по-директории "Root" - PullRequest
0 голосов
/ 15 ноября 2011

Это моя текущая «общая» конфигурация сервера:

http://hello.com/ maps to /
# There are a bunch of HTML files under /

http://hello.com/sub-1/ maps to /sub-1/

Теперь мне нужно загрузить новый «сайт» на http://hello.com/sub-2/.Однако все файлы HTML в этом пакете ссылаются на CSS и изображения с использованием абсолютного пути, например <img src="/images/header.png" />.

Как настроить сервер без необходимости изменения файлов сайта?

Следующие обсуждения ( это и , которые ) имеют схожую с этим природу.Однако я не хочу изменить корневую папку на http://hello.com/sub-2/.

Спасибо!

1 Ответ

0 голосов
/ 15 ноября 2011

Невозможно действительно сделать это, не изменив все ссылки на изображения на относительный путь (или включив sub-2).

Немного хакерским способом может быть использование флага -f для RewriteCond, изменяющего все, что загружается из / images в / sub-1 / images или / sub-2 / images в зависимости от того, где находится целевое изображение существует. Пример может быть таким:

RewriteCond -f sub-1/{$REQUEST_URI}
RewriteRule (images/.+) sub-1/$1

RewriteCond -f sub-2/{$REQUEST_URI}
RewriteRule (images/.+) sub-2/$1

Конечно, конфликты в каталогах сломают все. Мой опыт работы с mod_rewrite также немного ржавый, поэтому синтаксис может быть не на 100% правильным, но вы поняли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...