Относительные / корневые пути на виртуальном хостинге apache / cpanel / php - PullRequest
0 голосов
/ 03 декабря 2009

Я пытаюсь развернуть проект php / codeigniter в среде общего хостинга. Локально я использую MAMP, и все мои пути указаны так: -

background:transparent url(/img/myimj.jpg) left top no-repeat;

При развертывании общего хоста эти ссылки не работают, и для их разрешения мне нужно добавить «../». Изменение всех этих ссылок было бы утомительным. но пути codeigniter также затронуты, и я хочу понять, как у меня может быть то же самое отображение как мой локальный экземпляр MAMP apache.

Не очень хорошо разбираясь в apache, я не знаю, как решить эту проблему. Я использую корневую папку public_html, которая была сопоставлена ​​с моим пользователем. Можно ли использовать правило перезаписи в .htaccess для этого?

Спасибо за ваше время.

Ответы [ 3 ]

0 голосов
/ 03 декабря 2009

Если ваша «общая» среда означает, что вы делитесь DOCUMENT_ROOT, тогда вам нужно быть осторожным с файлом .htaccess - это будет файл .htaccess для всех. В противном случае, если у вас есть Виртуальный хост, что нужно сделать, чтобы загрузить ваши изображения в / path / to / document / root / img?

0 голосов
/ 03 декабря 2009

Спасибо за ваш вклад.

Добравшись до веб-хостинга, я с тех пор понял, что поведение виртуального хоста отличается, если у вас нет ANAME, указывающего на него. При добавлении одной папки public_html отображается как веб-корень, как и должно быть.

0 голосов
/ 03 декабря 2009

Вы можете использовать правило перезаписи .htaccess, которое просто направляет все изображения / css / независимо от конкретного каталога.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /path/relative/to/web-root/

    RewriteRule /?([^/]+)\.css css/$1.css
    RewriteRule /?([^/]+)\.(jpe?g|png|gif) images/$1.$2
</IfModule>

Предполагается, что все ваши изображения находятся в папке с именем images, а все таблицы стилей в папке с именем css.

.

В этом случае лучше всего вызывать изображения и таблицы стилей в вашем коде / CSS, используя абсолютный путь. Таким образом изображения будут кэшироваться правильно. Даже если сервер перенаправит все изображения в один и тот же каталог, клиент этого не увидит. Поэтому, если одно и то же изображение вызывалось с использованием относительного пути из двух файлов в разных позициях дерева, клиент видел бы их как два разных изображения и не кэшировал их должным образом.

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