не применяются ситили при использовании чпу

Inferno

Новичок
не применяются ситили при использовании чпу

При написании сайта столкнулся с проблемой, на сайте организовал ЧПУ через mod_rewrite, если заходишь на страницу то к документу не применяются стили, как только удаляешь .htaccess то дизайн отображается правильно. В чем может быть причина?
 

dimagolov

Новичок
в том, что твое ЧПУ работает и на файлы стилей, хотя не должно, или делает это не правильно.
 

RadMax

Новичок
.htaccess в студию
Скорее всего надо прописать исключения для файлов .css
 

Inferno

Новичок
RewriteEngine On

RewriteRule ^(news|lessons|aticles|reg|log)/*$ index.php?page=$1 [L]
RewriteRule ^(news)/([A-Za-z0-9-]+).html$ index.php?page=$1&pid=$2 [L]
RewriteRule ^(lessons|aticles)/([A-Za-z]+)/*$ index.php?page=$1&art=$2 [L]
RewriteRule ^(lessons|aticles)/([A-Za-z]+)/([A-Za-z0-9-]+).html$ index.php?page=$1&art=$2&pid=$3 [L]
RewriteRule ^(.*)$ index.php [L]

так фыйл стилей инклудится ссылкой из index.html который в свою очередб обработывается php
php читает index.html и выдает его браузеру который доходит до <link.....> и читает стили... почему при чпу не работает?
 

fixxxer

К.О.
Партнер клуба
варианта 2

либо ты написал относительные урлы
либо где то перебиваешь пути к стилям
 

ps2007

Новичок
я бы добавил после "RewriteEngine on" такую строку:
RewriteCond $1 !^(csscatalog)
где csscatalog - каталог, где лежат css файлы.

Скорее всего у тебя css файл также обрабатывается с помощью mod_rewrite, попробуй css файл открыть в браузере для того, чтобы убедиться, что все ок.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Хм, у меня пути от /корня сайта прописаны были изначально, даже не заморачивался.
 

Inferno

Новичок
хм закоментил RewriteRule ^(.*)$ index.php [L]
стили стали показываться... ток не поймпу почему вызов стилей из *.html бьется как будто это переход по ссылке?

ps2007 это все варианты? есть еще что нить?
 

dimagolov

Новичок
ток не поймпу почему вызов стилей из *.html бьется как будто это переход по ссылке?
mod_rewrite работает над ЗАПРОСАМИ к веб серверу, а не наж "переходами по ссылке" или чему бы то ни было еще.
Код:
RewriteRule ^(.*)$ index.php [L]
означет ВСЕ запоросы отправлять на index.php
 

Inferno

Новичок
dimagolov спасибо разморочил )
то есть теперь что бы он не резал мои стили нужно добавить:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

ко всем правилам?
 

dimagolov

Новичок
Inferno, ты пойми, что означает каждое из правил и условий. а не пиши заклинания.

я же понятия не имею чего ты хочешь добиться своим ЧПУ.
 

Inferno

Новичок
разобрался, всем спасибо
на самом деле css не подключался из за
RewriteRule ^(.*)$ index.php [L]
действительно любой урл обработывается rewrit'oм
для того что бы css покдлючались нужно перед этим рулом прописать было
RewriteCond %{REQUEST_FILENAME} !-f
что значит если файл на сервере не существует то
 
Сверху