siv1987

siv1987
Рейтинг
427
Регистрация
02.04.2009

загнать в бд

Сбросьте кеш браузера, если нет других правил которые срабатывают для этого редиректа без ?, значит параметры там должны сбрасываться и виноват кеш браузера.

Первый и второй вариант левые, первый не сработает по синтаксису, второй по паттерну. А в третьем лишний флаг QSA

RewriteRule ^category/old/$ /category/new/? [R=301,L]

С этого сразу и надо было начинать. В конце замены добавить знак вопроса

пр: /category/new/? [R=301,L]

Добавьте после RewriteEngine On

3,4 варианты здесь использовать не нужно

gterkin:
Кстати, берет первую цифру, а не последнюю

Первая цифра (и не только первая) будет в первой группе, во второй последняя как не крути. И тестер это даже подтверждает http://regexr.com?37cmt

За одно и ТСа удалить - скрипт доделан!!11 ©

tlustenko:
это или всеобщая проблема или нормальное поведение браузера открывать эти ссылки.

Браузер тут вообще краем, ему что сервер дает он то и открывает.

tlustenko:
объясните пожалуйста что значит norec в htaccess? погуглил, но ничего внятного не

Это ваша защита от зацикливания при редиректе с обычных ссылок на чпу-шные. С этим параметром не срабатывает шаблон id=([0-9]+)&artist_id=([0-9]+)$ тем самым не вызывает редирект после преобразования.

gterkin:
(.*)([0-9]+)

Потому что это выражение составлено неправильно. . - соответствует любому символу, в том числе и цифрам. То есть сначала отработает это условие и захватит все, а потом следующие и захватит только последнюю цифру. Одним словом магия regexp. Вначале регулярку желательно тестировать, например http://gskinner.com/RegExr/

Если урл вида site/123, то в (.*) нет необходимость

RewriteRule ^([0-9]+)$ index.php?tc=1&dest=$1 [L]

alert(window["matrix"+id].length);

alert(eval("matrix"+id).length);

Всего: 6568