Эта тема на forum.dklab.ru


d8e: помогите пожалуйста разобраться
Доброго времени суток.
вот возник такой вопрос, почему в .htaccess не работает:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/index.php?sID=(.*)$ /index.php/$2

т.е. чтобы вместо index.php?sID=3, выдавало index.php/3

спасибо
Ksnk:
Потомучто...
RewriteRule XXX YYY,
если переписать его на PHP будет выглядеть очень приблизительно так:

list($url_before,$query)=split(url,'?');
if (preg_match(XXX,$url_before,$m)) {
url= ...// заменить все $N в YYY на соответствующие значения $m[N]
} т.е не работает потому, что в $url_before нету куска после '?'
dron++:
так я же так и написал, заменяем ^/index.php?sID=(.*)$ на /index.php/$2
Ksnk:
А так - понятнее? Переписал "алгоритм".
Ну НЕТУ там уже query_string. нету! Если действительно нужно сделать именно так,нужно использовать переменную %{QUERY_STRING} и RewriteCond перед правилом, но за этим - по ссылке в документацию...
Maus:
index.php?sID=3, выдавало index.php/3
на всякий случай:
Вы уверены, что хотите, чтобы в строке браузера строка была "index.php?sID=3", а обращение шло в скрипт, расположенный по адресу "index.php/3" ?
dron++:
лох ты Ksnk, один Maus нормально говорит, да и то намёками
Maus thanks
Anonymous:
Вопрос решен, тему можно закрыть.
Maus:
лох ты Ksnk
http://forum.dklab.ru/about/todo/PravilaEtogoForuma-ProchitayteObyazatelno.html Вы с Ksnk успели на "ты" перейти?
Ksnk пытался помочь Вам решить поставленную Вами задачу и подобного отношения, имхо, не заслужил.
Maus:
Тема закрыта.

Эта тема на forum.dklab.ru