Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: ЧПУ
Форумы портала PHP.SU » » Вопросы новичков » ЧПУ

Страниц (1): [1]
 

1. Lolya - 15 Августа, 2018 - 17:37:53 - перейти к сообщению
День добрый. Помогите пожалуйста с переадресацией. Выводит не то что я хочу. Вот код:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. RewriteRule ^users_([0-9]*)(/?)+$ userdetails.php?id=$1 [L]
  3. RewriteRule ^System(/?)+$ userdetails.php?id=2 [L]
  4. RewriteRule ^System(/?)+$ users_2 [L]
  5. Redirect 301 /users_2 /System
  6.  


Имеется ссылка "сайт/users_2", надо перенаправить на "сайт/System". Но почему-то выдает после перенаправления: "сайт/System?id=2
Что я делаю не так? В первых строчках я убрал длинное имя и расширение php, потом повесил имя на нужный id.

Заранее спасибо за вашу помощь и ответ.
2. miketomlin - 16 Августа, 2018 - 18:24:56 - перейти к сообщению
Так легко смешивать директивы разных модулей не оч. хорошо. У Redirect не то что GET-параметры наследуются, но и компоненты пути. Т.е. на лицо неуместное использование данной директивы.

По поводу предпоследней директивы. Не нужно делать рерайт в промежуточный вариант. Явно указывайте обработчик и т.п. Т.е. правильный вариант указан в предыдущей строке, а эту бедную родственницу удалите.

Оставаясь только в рамках mod_rewrite, избавиться от зацикливания редиректа и рерайта можно при помощи условия с переменной THE_REQUEST.
3. Lolya - 16 Августа, 2018 - 21:38:18 - перейти к сообщению
А можно поточнее пример показать?
4. miketomlin - 16 Августа, 2018 - 23:17:48 - перейти к сообщению
К сожалению нету, т.к. не использую подобную жесть в своих сайтах, но вы можете поискать по ключам из моего пред. поста.

 

Powered by ExBB FM 1.0 RC1