Отсутствует файл CSS и изображения после перезаписи URL


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

У меня есть ссылка, например:

Локальный хост/мой веб-сайт/проект?id=22

Новая ссылка выглядит примерно так

Локальный хост/мой веб-сайт/проект/22/myproject.project

Код Htaccess:

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

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

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

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

Локальный хост/мой веб-сайт/css/style.css

Мой htaccess

Локальный хост/мой веб-сайт/.htaccess

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

Localhost/mywebsite/project.php

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

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

Но когда я использую переписанную URL-страницу, я не могу найти файл CSS.

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

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

Href= "мой веб-сайт/css/style.css"

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

Href="/css/стиль.css"

Похоже, это большая работа

Author: Ozzy, 2011-11-21

3 answers

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

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

В головную секцию

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

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

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

 27
Author: Gabriele Petrioli, 2011-11-21 18:13:32

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

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

Глобальный $SVP; echo $SVP;

Итак

 2
Author: Raj Keshwani, 2012-01-03 18:27:06

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

 1
Author: Ozzy, 2011-11-21 18:18:24