День добрый. Помогите пожалуйста с переадресацией. Выводит не то что я хочу. Вот код:
CODE (
htmlphp):
скопировать код в буфер обмена
RewriteRule ^users_([0-9]*)(/?)+$ userdetails.php?id=$1 [L]
RewriteRule ^System(/?)+$ userdetails.php?id=2 [L]
RewriteRule ^System(/?)+$ users_2 [L]
Имеется ссылка "сайт/users_2", надо перенаправить на "сайт/System". Но почему-то выдает после перенаправления: "сайт/System?id=2
Что я делаю не так? В первых строчках я убрал длинное имя и расширение php, потом повесил имя на нужный id.
Заранее спасибо за вашу помощь и ответ.
Так легко смешивать директивы разных модулей не оч. хорошо. У Redirect не то что GET-параметры наследуются, но и компоненты пути. Т.е. на лицо неуместное использование данной директивы.
По поводу предпоследней директивы. Не нужно делать рерайт в промежуточный вариант. Явно указывайте обработчик и т.п. Т.е. правильный вариант указан в предыдущей строке, а эту бедную родственницу удалите.
Оставаясь только в рамках mod_rewrite, избавиться от зацикливания редиректа и рерайта можно при помощи условия с переменной THE_REQUEST.
К сожалению нету, т.к. не использую подобную жесть в своих сайтах, но вы можете поискать по ключам из моего пред. поста.