Апач и домен 3 уровня
Вот такой вопрос
есть сайт в нём папки
в корне папки
auto
home
rabota
и.т.д
В папке AUTO в файле index.php
пути для подключения например файлов .css выглядят так ../file.css
Создал домен третьего уровня auto.site.ru
Дак вот вопрос как сделать
что прописать а АПАЧЕ
так чтобы файли стилей корректно подключались
как при открытии site/auto/
так и при открытии сайта auto.site.ru
Пока я так понял что пути подключения
файлов нужно прописывать абсолютно
используя $_SERVER['HTTP_HOST']
Пока я так понял что пути подключения
файлов нужно прописывать абсолютно
используя $_SERVER['HTTP_HOST']
Неверно. У тебя апач при запросе файла ../file.css с домена auto.site.ru для главной страницы вернет 404-у, т.к. выше корня auto.site.ru ни чего быть не может.
Просто нужно различать файловую структуру которую видит клиенсткое приложение (браузер) и реальное расположение файлов в файловой структуре сервера. Это разные деревья, и правила их обработки разные.
Как вариант можно использовать mod_rewrite.
РНР работает нормально
то есть при открытии сайта auto.site.ru
нормально подключаюся билиотеки
обращение к которым имеет вид
../lib/
то есть обращение происходит через корень основного сайта
повторю ещё раз не "не подключаются" только картинки, стили тоесть
то что грузит броузеррр....
РНР работает нормально
то есть при открытии сайта auto.site.ru
нормально подключаюся билиотеки
обращение к которым имеет вид
../lib/
то есть обращение происходит через корень основного сайта
Просто нужно различать файловую структуру которую видит клиенсткое приложение (браузер) и реальное расположение файлов в файловой структуре сервера. Это разные деревья, и правила их обработки разные.
PHP работает с реальными путями, с файловой структурой сервера. Поэтому при наличии соответвующих прав PHP может прочесть любой файл на сервере. Браузер же читает только то, что может ему выдать Apache. А Апач вышет RootDocument директории указанной для сайта подниматься не будет.
В общем в поиск. Что есть клиент-серверная архитектура, что такое Apache и как он вообще и зачем работает. Это азы и сейчас ты их совершенно не понимаешь. Когда ты поймешь, как это работает, тогда и станет понятно что нужно делат.
делать домены 3-его уровня с помощью
mod_rewrite
используя инструкции вида
#RewriteCond %{http_host} .
#RewriteCond %{http_host} !^site.ru [NC]
#RewriteCond %{http_host} ^([^.]+)\.site.ru [NC]
#RewriteRule ^(.*) http://www.site.ru/%1/ [R=301,L,QSA]
Меня не устроило то что в адресной строке всё равно
появлялся истиный адрес,
может вы знаете как это исправить
RewriteCond %{HTTP_HOST} !^(www\.)?domen\.ru$ [NC]
RewriteCond %{HTTP_HOST}—%{REQUEST_URI} ^([^\.]+)\.domen\.ru—/([^/]+)? [NC]
RewriteCond %1—%2 !^(.*)—\1$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%1/ -d
RewriteRule ^(.*)?$ %1/$1 [QSA,PT]
В строек браузера показывает нужный
адрес test.site.ru
(Не работает только в Мозиле та показывает истинный адрес site.ru/test/)
Но файли стилей из корневого кталога так и подсоединяет
Тестирую на локальном дома может на хостинге по другому будет работать..?