Как решить CSS включить ошибку после Apache RewriteRule? - PullRequest
0 голосов
/ 17 января 2012

Я использую winXP и AppServ. У меня есть «showitem.php» в корне моего сайта. Пример использования: www.mydomain.com/showitem.php?id=123
Я хочу использовать ссылки, подобные следующим:
www.mydomain.com/item/123
В .htaccess пишу эту строку:
RewriteRule ^item/([^/]+)$ showitem.php?id=$1

Сервер перенаправляет на showitem.php, и идентификатор получен успешно. Однако основная проблема связана с файлами css и js. Если я сделаю «css / style.css» для «/css/style.css», страница отобразится в Интернете, но не на localhost, потому что root - это «localhost», а файлы находятся в «localhost / mydomain». Я также пробовал условие "! -F" для файлов .css, но это не помогает и не может, насколько я понимаю. Чтобы решить эту проблему, я должен направить неверную интерпретацию файла CSS в правильное место, поэтому я хочу перенаправить клиентский запрос "item / css / style.css" в исходное местоположение "css / style.css". Я добавляю следующие правила для localhost, но есть ли другой способ?

RewriteRule ^item/css/([^/]+)$ /mydomain/css/$1
RewriteRule ^item/img/([^/]+)$ /mydomain/img/$1

Ответы [ 2 ]

1 голос
/ 17 января 2012

Установите базовый тег в своей HTML-голове.

<base href="http://www.mydomain.com/" />

И затем установите пути связывания таблиц стилей относительно базы, например,

<link href="css/style.css" />

0 голосов
/ 17 января 2012

вы можете записать их в файл .htaccess

ErrorDocument 404 /error_404.php

/error_404.php - это ваш файл ошибок, который вы хотите поместить туда.

...