За последние 24 часа нас посетили 17979 программистов и 1676 роботов. Сейчас ищут 1162 программиста ...

Проблема с mod_rewrite

Тема в разделе "Установка PHP", создана пользователем rar, 26 мар 2009.

  1. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    В самом корне приложения есть файл .htaccess, содержащий следующее:

    RewriteEngine on

    RewriteBase /
    RewriteRule ^.*$ index.php


    То есть, что бы ни было в адресной строке, то всегда идет перенаправление на index.php. Через index.php и ведется вся работа. Но такая проблема. При таком методе идет перенаправление на index.php, весь код исполняется, выполняется шаблонизация, но почему-то не подгружаются дополнительные файлы, такие как style.css и фавиконка. Такое ощущение, что вышеприведенным правилом блокируется передача файлов отличных от index.php.

    Подскажите, что можно сделать в данной ситуации. Или же я что-то ни так понимаю?
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  3. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Ну, хорошо. А как тогда быть?
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    вот ту строчку добавь как есть и всё.
     
  5. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Все, вроде нормально работает при таком коде:

    RewriteEngine on

    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^.*$ index.php


    Но, все равно возникает ряд трудностей.

    1. RewriteCond %{REQUEST_FILENAME} !-f - можно обратиться ко всякому существующиму файлу, например config.conf. А

    хотелось бы что бы был запрет на просмотр определенных файлов.

    2. При попытке обратится по адресу http://bilet/level1/level2/..., т.е. к тому что идет по уровню вложенности дальше level1 - опять не подгружает css-файл!

    А вообще вся идея заключалась в том, что бы при любом запросе в адресной строке было перенаправления на index.php а оттуда был полный контроль с помощью URI-анализатора. Хотел полностью весь контроль над сайтом вести через скрипт.

    Подскажите что-нибудь.
     
  6. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Вынеси все эти файлы в отдельную папку и поставь на неё запрет через .htaccess, либо вынеси эти файлы за предел DOCUMENT_ROOT.

    Потому что нужно указывать абсолютные, а не относительный пути.
     
  7. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Спасибо.