Всем доброго времени суток.
Шапка сайта, навигация и подвал лежат в отдельных php-файлах внутри папки pages (mysite.ru/pages/header.php и т.д.). В файле навигации прописаны относительные ссылки к страничкам. Если использую index.php (он расположен в корне сайта, при помощи include "file_name.php";
подключаю нужные файлы), то всё работает правильно. Если обращаюсь к этим файлам из подпапки, то уже ссылки идут не на поиск файлов в корне, а в этой самой подпапке (например: mysite.ru/folder/index.php
вместо mysite.ru/index.php
). Как исправить этот момент в навигации?
P.S. Если моё решение (в корне лежит только index.php, в папке pages шапка, навигация и подвал, а в остальных папках файлы по разделам сайта) считаете глупым/неверным, то подскажите, как лучше сделать.
к инклюдам этот вопрос не имеет никакого отношения.
В файле навигации прописаны относительные ссылки к страничкам.
Это неправильно. Ссылки должны быть абсолютные:
для того, чтобы любая ссылка гарантированно работала, независимо от того, из какого места сайта она вызывается, она должна быть абсолютной.
Если у вас на сайте есть, допустим, два раздела:
http://www.example.com/about/info.php
и
http://www.example.com/job/vacancy.php
то, если в файле info.php сделать ссылку просто на vacancy.php, то браузер ее не найдет - он будет искать адрес http://www.example.com/about/vacancy.php, достраивая путь от текущего каталога.
Поэтому надо писать полный путь от корня сайта - /job/vacancy.php
Всё это касается, естественно, не только тегов но и и любых других, где используются ссылки на другие файлы.
Ссылки на локальные адреса следует писать без указания протокола и домена - только путь от корня сайта - /job/vacancy.php. Ссылки же на другие сайты следует писать полностью - http://www.example.com/job/vacancy.php.
чтоб вернуться на уровень выше пишите ../
. Если нужно с папки обратится в соседнюю папку тогда сначала выходим с текущей папки и заходим в нужную:
../folder/file.php
Возможно вам лучше будет использовать абсолютный путь..
"http://" . $_SERVER['SERVER_NAME']
.. и сюда уже прописывать в ссылках остальной путь. Н-д :
"http://" . $_SERVER['SERVER_NAME'] . "/folder/header.php"
.
Тогда независимо откуда вы обращаетесь к файлу ссылка не меняется - не взникает путаницы
Лучше использовать структуру MVC, может будет не настолько удобно как в твоем случае но правильнее и не будет путаницы
Виртуальный выделенный сервер (VDS) становится отличным выбором
Возможно ли перенести сайт с wordpress на свой движок? И сколько будет примерно стоить?
Делаю авторизацию, возникла такая проблемаПри нажатии на <a href="logout
Пробую достать данные из 2 столбца таблицы, вроде бы получается, единственное это не могу додумать как вместо пустых ячеек добавить нольИ...
Добрый день, проблема в том, что не открываются изображения, даже если оно лежит в той же папке, что и сам компонент