Intereting Posts
Удалить элемент из многомерного массива на основе значения Установка Symfony в автономном режиме с помощью композитора php: создать каталог в форме submit? xdebug, eclipse, centos, удаленная отладка – невозможно остановить на контрольных точках Как узнать, является ли запрос ajax-запросом? IIS 8 Не запускать PHP? Унифицированные логины Joomla для форума и пользовательский php-сайт Zend_Session / Zend_Auth случайно генерирует сообщение об ошибке ps_files_cleanup_dir: opendir (/ var / lib / php5) не удалось: разрешение отклонено (13) Выполнить функцию PHP из изображения события OnClick file_get_contents игнорирует verify_peer => false? Преобразование английских цифр в арабские цифры регулярное выражение, не совпадающее из-за повторной группы захвата, а не захвата повторяющейся группы php daemon возможна утечка памяти читать метаданные свойства объекта Doctrine Невозможно вставить данные в базу данных с помощью опции (textarea)

Связывание того, как PHP / HTML

Хорошо, поэтому я сделал страницы с рамками, и знаю, что я разделил свой проект на top.php и bottom.php. В top.php он ссылается на style.css и ajax_framework.js и т. Д. Теперь это отлично работает, пока я не попытался включить top.php & bottom.php в video / index.php (еще один dirr), мне понравилось:

include "../top.php"; <-- and the originally index.php --> include "../bottom.php"; 

Теперь, когда я вхожу на сайт, он не загрузит style.css, возможно, потому, что он считает, что style.css должен быть в каталоге videos /, то же самое происходит с ajax_framework.js, которые оба файла находятся в каталоге parent ../.

Теперь, что я делаю? Какой-то метод или техника для решения этой проблемы? Так что мне не нужно копировать style.css и ajax_framework.js в каждый каталог, который у меня есть, потому что позже, если я хочу что-то изменить, мне нужно будет изменить во всех каталогах, что было бы моим последним, что я хочу сделать .. надеюсь вы получили хорошие методы, спасибо

У вас есть как минимум три варианта:

  1. Сделайте все свои URL URL абсолютным URL. Например, измените <script type="test/javascript" src="scripts/foo.js"> на <script type="text/javascript" src="/scripts/foo.js"> . Если вы можете это сделать, это, безусловно, менее навязчивое решение.

  2. Задайте константу BASEDIR перед тем, как включить top.php и сделайте каждый путь к ресурсу относительно него:

     // in your file that includes top.php <?php define('BASEDIR', '..'); ?> // in top.php <?php if(!defined('BASEDIR')) define('BASEDIR', '.'); ?> <link rel="stylesheet" type="text/css" href="<?php echo BASEDIR; ?>/style.css"/> 
  3. Добавьте <base> HTML <base> в свой <head> (этот отстой, не делайте этого):

     <base href="/foo"></base> <!-- now all srcs, hrefs and whatnot are relative to /foo --> 

    Это отстой, потому что даже привязки будут относиться к нему. Поэтому, если у вас есть ссылка, например <a href="#foo"> на странице qaz.php , с <base href="/bar"> , ссылка будет указывать на /bar#foo вместо qaz.php#foo .

Вы не опубликовали свой html, но я предполагаю, что вы не используете абсолютный uri. Вы, вероятно, делаете что-то вроде:

<link rel="stylesheet" type="text/css" href="css/style.css" />

Когда вы должны делать что-то вроде:

<link rel="stylesheet" type="text/css" href="/css/style.css" />

Добавьте <base href="..." /> в top.php. Базовый тег определяет URI, из которого разрешены все относительные URI.

Подробности и пример здесь: http://www.w3.org/TR/html401/struct/links.html#h-12.4

Ответ прост:

В top.php я предполагаю, что у вас есть что-то вроде этого:

 <link type="text/css" href="style.css" rel="stylesheet" /> 

Просто измените его как абсолютный URL, добавив косую черту в начало, например:

 <link type="text/css" href="/style.css" rel="stylesheet" /> 

Теперь браузер будет искать вашу таблицу стилей из корневого каталога документа в абсолютном пути.

Кстати, люди, читающие ваш вопрос, не могут легко понять ситуацию, потому что вы, кажется, ссылаетесь на разные должности. Я считаю, что лучше описать всю проблему в одном посте, потому что я не нашел ваши предыдущие вопросы.