Mod_rewrite не все понятно...

akxxiv

Новичок
Mod_rewrite не все понятно...

Извиняюсь, что в очередной раз поднимаю данную тему, но мне не все понятно, и поиск не дал мне полного ответа на вопрос. И так вопрос.

Есть сайт site.ru. Структура похожа на ЧПУ, т.е. site.ru/about/company/ и тд. Отличием является то, что в папке каталога могут быть GET переменные (site.ru/catalog/?section=2&page=4) Так вот необходимо чтобы URL и GET переменные обрабатывлись файлом /index.php. Т.е. после преобразования мод_реврайтом урл выглядил так:


  • Для site.ru/about/company/ и site.ru/about/company (без конечного слэша) - site.ru/index.php?url=about/company
  • А для site.ru/catalog/?section=2&page=4 - site.ru/index.php/?url=catalog&section=2&page=4

При этом есть каталоги, которые не должны передаваться обробатываещему сайту например (/_img/, /_img/u_img/, /_scripts/)

Что я нашел:
PHP:
RewriteEngine On
RewriteBase /
RewriteRule  ^_img/.*$          -       [L]
RewriteRule  ^_script/.*$          -       [L]
RewriteRule ^(.*)$ index.php?url=$1
Но данные правили преобразуют весь урл в переменную, а надо чтобы ГЕТ переменные передовались как переменные, а путь к папке как переменная $url

Как это сделать?
 

Groove

Новичок
[QSA] ?

-~{}~ 17.08.05 17:07:

по поводу картинок:
http://phpclub.ru/faq/modrewrite
 
RewriteEngine on
RewriteRule ^index.php - [L]
RewriteCond %{REQUEST_URI} !^/_img/
RewriteCond %{REQUEST_URI} !^/_scripts/
RewriteRule !\.(gif|jpg|css|ico)$ /index.php [L]

-~{}~ 18.08.05 14:50:

Внутри URL читать из $_SERVER['REQUEST_URI']

-~{}~ 18.08.05 14:55:

GET переменные, соответствеено, из $_GET
 
Сверху