Отсутствует файл CSS и изображения после перезаписи URL - PullRequest
12 голосов
/ 21 ноября 2011

Я пытаюсь создать удобный URL-адрес, используя режим перезаписи. Моя проблема в том, что после присвоения категории, такой как «имя», моему URL, когда я вызываю страницу с новым URL, она не может загрузить файл CSS или изображения.

У меня есть ссылка как:

локальный / МойВебСайт / проект? ID = 22 * ​​1006 *

Новая ссылка похожа на

локальный / МойВебСайт / проект / 22 / myproject.project

код доступа:

RewriteRule ^project/([0-9]*)/.*\.project$ /project.php?project=$1 [L]

(это может быть не на 100% правильно, но у меня сейчас нет доступа к моему коду, поэтому я просто написал это, и он отлично работает на оригинальном источнике)

Мой корневой каталог - localhost / mywebsite /

и мой файл CSS находится в css / style.css

локальный / МойВебСайт / CSS / style.css

мой htaccess

локальный / МойВебСайт / .htaccess

и мой файл project.php находится в

локальный / МойВебСайт / project.php

Итак, на странице проекта у меня есть доступ к файлу CSS по относительному пути,

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

, но при использовании перезаписанной страницы URL не удается найти файл CSS.

Я не могу использовать абсолютный путь с доменным именем, потому что у меня еще нет домена! и это может быть что угодно.

Одним из способов является использование относительного пути к домену, как предлагается для аналогичных вопросов. локальный / МойВебСайт / project.php и когда я запускаю свой скрипт локально, мой корневой каталог локальный поэтому ссылка на css должна выглядеть как

* * HREF тысячи сорок-девять = "МойВебСайт / CSS / style.css"

но когда я выйду в эфир, я должен изменить все ссылки на что-то вроде

HREF = "/ CSS / style.css"

это похоже на большую работу

Ответы [ 3 ]

27 голосов
/ 21 ноября 2011

Для вашей локальной версии добавьте

<base href="//localhost/mywebsite" />

в раздел заголовка

и для ваших живых версий измените его на

<base href="//your.domain.here" />

ссылка на http://www.w3.org/TR/html4/struct/links.html#h-12.4

2 голосов
/ 03 января 2012

Вы должны определить базовый путь или путь к просмотру сервера в файле connection.php, и всякий раз, когда вам нужен этот путь, делайте его глобальным.тогда эта переменная будет вызвана b, а css или images будут занимать весь путь.

, например, $ SVP = "http://www.example.com/"

global $ SVP; echo $ SVP;

, поэтому

1 голос
/ 21 ноября 2011

Вставьте изображение в тот же файл с тем же относительным путем, что и ссылка css href, загрузите страницу в браузере, щелкните правой кнопкой мыши изображение в Internet Explorer, выберите Свойства, и вы увидите, куда на самом деле указывает относительный путь. .

...