[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: редирект с mod_rewrite
erw
Здраствуйте помогите найти ошибку в директиве:

RewriteEngine on
RewriteRule ^test.php\?take=(.+)$ test/$1 [R]

хочу сделать чтобы строку http://domain.ru/test.php?take=blablabla
редиректило на url http://domain.ru/test/blablabla



Спустя 2 часа, 5 минут, 30 секунд (28.09.2011 - 20:12) erw написал(а):
гуру где же вы?? проблема довольно типичная я уверен, но найти чтото не могу

Спустя 4 минуты, 21 секунда (28.09.2011 - 20:17) kovalevsky написал(а):
RewriteEngine On
RewriteRule ^test/([^/]*)$ /test.php?take=$1 [L]

пробуй так )

Спустя 1 час, 14 минут, 22 секунды (28.09.2011 - 21:31) Guest написал(а):
не совсем то, мне нужно чтоб страница обновлялась и урл заменялся, а вы мне предложили конструкцию когда урл уже заменена но интерпретируеться как обычно (без mod_rewrite ну тоесть url test/blabla а работает как test.php?take=blabla), ну вот я надеюсь понятно в чем вопрос

Спустя 16 минут, 45 секунд (28.09.2011 - 21:48) kovalevsky написал(а):
Если честно, то не очень понятно.
Если вам нужно, чтоб ваш урл заменился на чпу, то я привел пример,


upd. Дошло :)
в таком случае проверяйте в скрипте через $_SERVER['QUERY_STRING']
по какому адресу попал сюда юзер и делайте редирект

if($_SERVER['QUERY_STRING'] == 'http://domain.ru/test.php?take=blablabla')
{
Header('Lосаtiоn: http://domain.ru/test/blablabla');
}

Спустя 39 минут, 57 секунд (28.09.2011 - 22:28) erw написал(а):
Дак вот в том то дело что хотел обойти этот вариант с php редиректом, посчитав его мм более ресурсо-затратным, но вот сейчас думаю так ли это?

Спустя 11 минут, 32 секунды (28.09.2011 - 22:39) kovalevsky написал(а):
Я не думаю.
Если не устраивает header, то вместо него можно яваскриптом например
{
echo("<script language = \"javascript\"> dосument.lосаtiоn.href = \"http://domain.ru/test/blablabla\"; </script>");
}


возможно допустил ошибку, т.к. в яваскрипте не силён

Спустя 30 минут, 46 секунд (28.09.2011 - 23:10) erw написал(а):
суть я понял дальше сам smile.gif спасибо за помощь, ну если кто кинет решение с мод реврайтом буду рад разобрать этот пример, у самого не получилось чтото, вроде сделал но редирект не идет, думаю проблема с символом "?" в RewriteRule

Спустя 30 минут, 15 секунд (28.09.2011 - 23:40) kovalevsky написал(а):
Если тупо через htaccess хочешь, то тебе скорее нужно копать в сторону
Redirect или RedirectMatch ;)
или попробуй
RewriteRule ^test.php?take=(.*)$ /test/$1 [L,R=301]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.