еще раз mod rewrite - в ЧПУ переменная передается?

DanGien

Новичок
еще раз mod rewrite - в ЧПУ переменная передается?

Перелопатил сведения о mod rewrite, но внятное описание нашел только на http://sitemaker.ru/technologies/webserver/ Все бы хорошо, но там информации очень мало.

На http://detail.phpclub.ru/ почти ничего нет, на http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html вообще читать невозможно (такое впечатление, что у автора с русским туго).

Экспериментирую у себя на машине, что-то ничего не получается.

Может кто-то на пальцах объяснит или ссылку нормальную даст (не на инглише:)).

А "беспокоит" 2 феномена.

1. Скрипт находится тут - /home/mytest/partner/script/

там каталог /tovary/

нужно из такого вот
http://mytest/partner/script/tovary/index.php?rid=1

сделать

http://mytest/partner/script/tovary/1

что я делаю:

если пишу

Options Includes +ExecCGI
AddType text/x-server-parsed-html .html
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.*)mytest/partner/script/tovary/(.*)$ $1http://mytest/partner/script/tovary/index.php?rid=$2

то загружается файл http://mytest/index.php

Почему?

2. если убираю

Options Includes +ExecCGI
AddType text/x-server-parsed-html .html

то грузится то, что надо, только пишет ошибку, т.к. переменная $rid должна обрабатываться, а ее нет.

Как ее передать скрипту в это случае?

Заранее большой сенкс тому, кто внятно объяснит:)
 

demis

Новичок
файл .htaccess тебе нужен вот:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

Чтобы переменную взять, тебе нужно порезать строку, это можно сделать примерно так
$ar = explode("/", trim($REQUEST_URI, "/"));
 

DanGien

Новичок
Спасибо, заработало!

а нашел на форуме еще такое:

RewriteRule ^(.*)$ /manager.php?%{QUERY_STRING} [QSA,L]

Что значит {QUERY_STRING} здесь? И как ее поймать в скрипте, если это переменная?

Еще раз спасибо!:)
 

DanGien

Новичок
Orlis, спасибо, конечно, но я уже как бы несколько инет-магазинов написал и несколько панелей управления аккаунтом:)

Просто с mod_rewrite не работал, а php и прочее учу частями по мере появления "проблем":)

P.S. Я просил любую нормальную доку, кроме английской;)
 
Сверху