Очередной вопрос по mod_rewrite

12
Givandos
На сайте с 25.06.2007
Offline
33
908

Ситуация такая: есть файл .htaccess, в котором есть строчка "RewriteRule .* index.php"

В самом index.php подключается обработчик УРЛа, который разбивает урлы по слешам на составляющие. Сделано мною в силу очень малых знаний правил по работе с mod_rewrite + хочется работу (обработку) с УРЛами перенести на php. Так мне удобнее.

Собственно, все работает (по крайней мере пока, на начале разработки движка) как мне нужно, за исключением одной мелочи - подхват файлов (картинок, стилевого файла), пути которых указаны внутри самого index.php. Он выступает в роли шаблона, к которому подключаются другие файлы-скрипты (инклудом).

В общем, картинки не отображаются, стили не подхватываются. Не совсем понимаю что именно происходит в .htaccess (особенно в указанной выше строке), чтоб она меняла пути картинок, точнее я думал что .htaccess обрабатывает только то, что в адресной строке :( И не знаю к каком направлении двигаться: менять/добавлять правила в .htaccess или же где-то в обработчике УРЛов нужно что-то добавить :(

Если кто сможет подсказать - буду очень благодарен.

п.с. Документацию читал, но пока что-то туго очень идет :(

DirectoryIndex index.php

AddType application/x-httpd-php .php
Options -Indexes

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule .* index.php
alexspb
На сайте с 14.11.2005
Offline
187
#1

Картинки просто не надо рирайтить, т.е. перед рирайтрул добавить

RewriteCond %{REQUEST_URI} !\.(js|css|txt|jpg|jpeg|gif|swf|png)$

т.е. то, что оканчивается на нужные расширения не обрабатывается php

F
На сайте с 22.12.2005
Offline
48
#2

Попробуйте в index.php писать путь к css-файлу относительно корня сайта:

<link rel="stylesheet" href="/папка со стилями/имя файла.css" type="text/css" />

Для картинок - то же самое

Наслаждение жизнью - это искусство
Givandos
На сайте с 25.06.2007
Offline
33
#3

alexspb

Вечером попробую (скрипты все дома ваяю), спасибо за совет. Тоже задумывался относительно правил RewriteCond, но с ними вообще на "Вы" и шепотом :) Все же пора регулярки учить.

Flame

Такой вариант самым первым попробовал - не идет :( Уже и в самом индекс.пхп указывал базу (адрес сайта) и все такое - все равно не цепляет.

Turtle_Fly
На сайте с 20.09.2007
Offline
33
#4

попробуйте задать еще пару условий:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

т.е. если эти условия (если запрашиваемый урл это существующий файл или папка)

то ваше правило не сработает, иначе, как вы и хотели будет перенаправление запроса на Index.php

лазерные станки для резки и гравировки, купить в Москве (http://laser911.ru/). изготовление табличек для офиса (http://www.shtampuem.ru/tablichki/).
alexspb
На сайте с 14.11.2005
Offline
187
#5

Givandos, картинки вообще лучше на поддомен выкладывать, и логи не засоряет... (это для нормальных проектов, если не каталог)

Givandos
На сайте с 25.06.2007
Offline
33
#6

Turtle_Fly

Такой вариант я увидел у ВордПресса, но не смог разобраться окончательно что это и как его привязать в своему правилу.

Спасибо, попробую и такую проверку.

alexspb

Не попадалось пока такое решение не разу. Попробую для копилки знаний, хотя проект пока даже по задумке не тянет на грандиозный... так, потенциальный среднячок :)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#7
alexspb:
картинки вообще лучше на поддомен выкладывать, и логи не засоряет

Мдя... Больше напоминает совет о том, как делать не надо...

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

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
alexspb
На сайте с 14.11.2005
Offline
187
#8

T.R.O.N, все зависит от задач. одну из оговорок я делал. Даже для первой недели лучше смотреть без картинок (особенно если это элементы дизайна, фавикон, цсс-ки, жаваскрипты - на поддомене я и отключаю логи) Логи оставляю, хотя нужную информацию собираю скриптом, ТС бог даст до этого тоже дойдет.

Givandos, посмотрите хотя бы аватры здесь на серче

T.R.O.N
На сайте с 18.05.2004
Offline
314
#9
alexspb:
Givandos, посмотрите хотя бы аватры здесь на серче

А Вы задумывались зачем это сделано? Вы путаете грешное с праведным. Когда стоит вопрос о загрузке SQL, это совсем другая песня. Аватары здесь сделаны так, дабы создать дополнительную нить процесса.

Есле бы использовались файлы, а не БД, не нужно бы было гемор устраивать

alexspb
На сайте с 14.11.2005
Offline
187
#10

T.R.O.N, в чем гемор? повторюсь: от задач зависит. Вы свою сторону видите, я свою, а ТС может другое имеет в виду. Почитает выберет то, что нужно.

А что подразумевается под дополнительной нитью процесса (особенно с привязкой к аватарам)? И зачем, например, яндекс свой логотип на поддомене хранит?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий