Вполне возможно, что я все организую не правильно и не оптимально, но делаю так, как понимаю .. Чтобы было возможно обращение к некоторым папкам ( в данном случае "Common") по http, но только с моего хоста, для чего и поставил второе правило. А все остальные запросы пускать на index.php. Мне не важно идет обращение к файлу или каталогу .. В index.php сравниваю отдельные части URI с допустимыми значениями и формирую страницу. ЗЫ. Наверное первое условие можно убрать и сделать просто RewriteRule .* index.php
Да, условие "не с моего хоста" - лишнее. Подскажите какие еще есть варианты для css и картинок, кроме предложенного Горбуновым Олегом.
Я тебе привел рабочий код, мне там нужны папки, потому они там и есть. Второе условие - как раз для файлов (сss, image, js и прочее). это первое в таком случае приведенный тобой код - верный. он же у тебя работает ? но я все же не понимаю - только с твоего хоста ? а что в этой папке и зачем такое странное условие можешь пояснить ? любопытно.
Он у меня работает. Я еще не все процессы понимаю, поэтому наверняка что-нить перемудриваю. В папке ничего особенного, просто собрал туда общие файлы (элементы) для всех страничек в том числе стили и картинки. Поскольку не знал как при общем перенаправлении запросов на index.php по-другому разрешить загрузку стиля и картинок , то выделил для этой папки условие отменяющее перенаправление на index.php. А чтобы ее не было видно отовсюду по http://myhost/Common, то и поставил условие "с моего хоста". ЗЫ. def я понял, что еще не объяснил (или недоходчиво объяснил). Мне нужно, чтобы любой запрос в том числе и к файлу http://myhost/anypath/to/anyfile.txt(любое расширение) попадал на index.php поэтому условие проверки "если не файл" не подходит. Может быть так нельзя(=не рекомендуется) делать? Тогда объясни,плз, в чем могут возникнуть трудности.
Ага, вот именно этой фразы не хватало. Конечно, если файл реально существует, тогда мой вариант тебе не подходит. Хотя мне такая организация не нравится, если файл реально есть, он должен реально быть. Это сугубо мое мнение. Что касается, вот этого: совершенно верно
Кстати, каков минус - для получения эл-тов оформления будет использоватся скрипт PHP а это не есть производительно. Вот поэтому я предлагал просто убирать из парсинга картинки и css файлы. НО! Всплывает интересная возможность... генерировать css файл с определением браузера! Что есть довольно интересно.
погоди, картинки и css будут забираться из Common а по поводу css. кто мешает Код (Text): <link href='/css/auto.php" type='text/css' /> ?
def эх ... опоздал ... хотя я так и делаю ... на php.ru так и отдается. все цвета подcтавляются из конфига и когда парсится css шаблон, то все подставляется автоматом. Код (Text): <LINK REL="stylesheet" TYPE="text/css" HREF="/getcss.html"> PHP: <? # GETCSS.HTML header ("Content-Type: text/css;"); if(!empty($_SERVER)) extract($_SERVER); if(!empty($_GET)) extract($_GET); include_once("local.inc"); include_once("const.inc"); include_once("buffer.inc"); include_once("error.inc"); if(empty($CSS)) $CSS = ""; switch($CSS) { case "ADM": @include_once("./adm/local.inc"); $C = new OOPSBuffer("css/adm.css"); $C->Parse(); break; default: @include_once("./local.inc"); $C = new OOPSBuffer("css/oops.css"); $C->Parse(); break; } $C->Show(); ?> p.s. *.html по умолчанию отдается php. p.p.s все включаемые файлы лежат выше корня сайта, так что не надо лишний раз набирать в строке то, чего броузер вам не отдаст.
минус. после сохранения страница может быть открыта в другом браузере. и еще, не проще ли для разных браузеров разный css файл отдавать?
Надо попробовать, хотя к моей проблеме это отношения не имеет. Чтобы не зависеть от местонахождения файла изменил второе правило Код (Text): RewriteCond %{HTTP_REFERER} http://myhost.* RewriteRule !\.css$ index.php ЗЫ. Кстати, первое условие нужно все-таки ставить Код (Text): RewriteCond %{HTTP_REFERER} !http://myhost.* RewriteRule .* index.php иначе при обращении не с myhost файлы из второго правила не подключатся, т.к. втрое условие по HTTP_REFERER не выполнится
Да хоть так. Код (Text): RewriteRule !\.(css|jpg|gif|jpeg)$ index.php re: зы, я ничего из твоего первого кода не предлагал удалять