ФорумРазработкаУстановка и администрирование ПОВебсервер → mod rewrite - два простых правила

mod rewrite - два простых правила

  • killich

    Сообщения: 270 Репутация: N Группа: Адекваты

    Spritz 1 мая 2010 г. 15:09

    Вопрос тривиален:

    Нужно сделать так, что бы при всех запросах юзер попадал на index.php

    и только в одном случае - когда запрос начинается с /public/ юзер попадал в эту самую /public/

    В общем, нужно что то вроде:

    /students/test/a=5&b=6 => index.php?controller=students&action=test&a=5&b=6
    /students/test => index.php?controller=students&action=test


    НО

    /public/css/basic.css => /public/css/basic.css
    /public/images/1.jpg => /public/images/1.jpg


    Что то вроде такого

        RewriteCond %{REQUEST_URI} ^(/public/)(.*)$
         RewriteRule ^(/public/)(.*)$ $1$2
       RewriteCond %{REQUEST_URI} ^(.*)/(.*)/(.*)$
        RewriteRule ^(.*)/(.*)/(.*)$ index.php?controller=$1&action=$2&$3 [QSA,L]


    Вправьте мне мозг, плз..
    >;0)
    Рубист с большой буквы Г. Серый кардинал кулинарного блога open-cook.ru
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 1 мая 2010 г. 20:18, спустя 5 часов 9 минут 4 секунды

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    Классическое не подойдёт?
  • killich

    Сообщения: 270 Репутация: N Группа: Адекваты

    Spritz 3 мая 2010 г. 10:27, спустя 1 день 14 часов 9 минут

    Остановился на варианте

    <IfModule mod_rewrite.c>
    RewriteEngine On
       RewriteRule ^(public)(.*)$ $1$2 [L]
       RewriteRule ^(.*)/(.*)/(.*)$ index.php?controller=$1&action=$2&$3 [L] # /students/test/a=5&b=6 => index.php?controller=students&action=test&a=5&b=6
       RewriteRule ^(.*)/(.*)$ index.php?controller=$1&action=$2 [L]         # /students/test => index.php?controller=students&action=test
       ErrorDocument 404 /404page.html
    </IfModule>


    Замечания, Предложения?!

    Адворд.. к Вам персонально, уважаемый, обращаюсь.. >;0)
    Рубист с большой буквы Г. Серый кардинал кулинарного блога open-cook.ru

Пожалуйста, авторизуйтесь, чтобы написать комментарий!