mod_rewrite

P
На сайте с 26.02.2002
Offline
73
742

Никто не сталкивался с такой проблемой:

для того чтобы все страницы выдавать через один скрипт в конфиге прописал

RewriteEngine On

RewriteRule /(.+).php$ /display.php?page=$1

все хорошо пока get-ом не передаются параметры www.domen.ru/sell.php?id_class=12

чтобы переменная не терялась добавляю:

RewriteRule /sell.php?id_class=(\d+) /display.php?page=sell&id_class=$1

но ни такой вариант, ни такой

RewriteRule /sell.php\?id_class=(\d+) /display.php?page=sell&id_class=

$1

не проходит

Какие еще есть варианты?

Price OK - у нас самые свежие цены! (http://www.priceok.ru)
C
На сайте с 19.09.2001
Offline
120
#1
RewriteRule /sell.php\?id_class=(\d+) /display.php?page=sell&id_class=
$1

А если так:

RewriteRule /sell.php\?id_class=([0-9]+) /display.php?page=sell&id_class=$1

ИМХО \d не прокатывает

С уважением, Владимир Чернышов. (не)?путевые заметки (http://chernyshov.kiev.ua/)
[Удален]
#2

Pegiy, попробуй после первого RewriteRule ставить в конце строки через пробел после последнего символа [L]

P
На сайте с 26.02.2002
Offline
73
#3
Как писал Interitus
Pegiy, попробуй после первого RewriteRule ставить в конце строки через пробел после последнего символа [L]

Не помогло. Вообще странная ситуация. Удаляю все, оставляю только

RewriteEngine On

RewriteRule /sell.php?id_class=10 /display.php?page=sell&id_class=10

при запросе http://is/sell.php?id_class=10

выдает 404 ошибку

C
На сайте с 19.09.2001
Offline
120
#4
RewriteRule /sell.php?id_class=10 /display.php?page=sell&id_class=10

Вопросительный знак надо экранировать, добавьте RewriteBase, мне помогло ;)

RewriteBase /

RewriteRule ^sell.php\?id_class=10$ display.php?page=sell&id_class=10

P
На сайте с 26.02.2002
Offline
73
#5
Как писал Interitus
Pegiy, попробуй после первого RewriteRule ставить в конце строки через пробел после последнего символа [L]

Попробовал не прошло.

Но заработало с [QSA]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий