- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Уважаемые вебмастера! Прошу помощи!!!
Пишу первый динамический сайт, стал в тупик.
Сначала решил расположить все странички в корне, потом когда количество страниц стало расти, начал путаться и решил странички раскидать по папкам. Проблема заключается вот в чем:
во все страницы инклудятся header, footer, menu (далее inc-и) которые лежат в папке inc, а они в свою очередь ссылаются на images, ява-скрипты и др., которые лежат в корне.
Когда я создаю папки, чтобы расположить в них странички по категориям и меняю в страничках адреса ссылок на inc-и, inc-и начинают ссылаться на images, ява-скрипты в корне, а т.к. корнем уже является папка-категория, то в ней нет ни images, ни ява-скриптов. А я не хочу, чтобы для каждой папки и подпапки были свои inc-и.
Как быть?
быть так:
Так нужно ссылки в inc-ах сделать относительно корня сайта. Вот например
require_once BASEDIR.$settings['opening_page'];
а в maincore.php где-то есть такой фрагмент
$folder_level = ""; $i = 0;
while (!file_exists($folder_level."config.php")) {
$folder_level .= "../"; $i++;
if ($i == 5) { die("Config file not found"); }
}
require_once $folder_level."config.php";
define("BASEDIR", $folder_level);
То есть, здесь находится папка, содержащая файл config.php, и все пути начинаются с неё.
Спасибо, но первый ответ не помог, а во втором, наверное, описывается какой-то движок, а я никакой движок не использую, сам пишу
Да, это пример из движка, и он показывает классическое решение вашего вопроса и здесь не должно быть трудностей. Вместо config.php можно взять тот файл, который отличает вашу корневую папку от других. Вместо $settings['opening_page'] - ваши имена файлов. require_once - ну у вас вместо этого, наверное, include.
ТС, честно говоря, то, что вы описали, очень похоже на траву.
Лично я обычно стараюсь в корне ($_SERVER['DOCUMENT_ROOT'] — пусть это /www/http_docs/) держать только файлы, которые положено запрашивать моим посетителям, т.е. скрипты (вроде index.php или news.php), изображения (/www/http_docs/images/), js и так далее. Все, что требуется исключительно на стороне сервера, у меня обычно лежит выше, хотя это исключительно вопрос удобства.
Ваши инки называются шаблонами (templates) или скриптами вида (view scripts). Лежать им действительно положено в отдельной директории (например /www/templates/).
Итак, структура:
/www/http_docs/
/www/http_docs/index.php
/www/http_docs/images/
/www/http_docs/images/logo.png
/www/templates/
/www/templates/header.inc
/www/templates/footer.inc
Файлы:
/www/http_docs/index.php
/www/templates/header.inc
/www/templates/footer.inc
src="/images/logo.png" — слеш в самом начале означает, что файл будет запрошен из доступного браузеру корня сайта (http://www.site.ru). Конечно же стоит рассмотреть случай, когда у нас неожиданно изменится структура, например примет вид:
/www/http_docs/
/www/http_docs/test/index.php
/www/http_docs/test/images/
/www/http_docs/test/images/logo.png
/www/http_docs/test/templates/
/www/http_docs/test/templates/header.inc
/www/http_docs/test/templates/footer.inc
Наш индекс.похапе теперь доступен по адресу http://www.site.ru/test/index.php
Файлы:
/www/http_docs/test/index.php
/www/templates/header.inc
PROFIT!
Николай В. спасибо большое, помогло