Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Помогите с редиректом
Новая тема
Ответить
цитата
24/05/08 в 12:19
_s_[sov]
сабж.
ситуация следующая:
есть урл вида host.com/index.php?p=5
как мне с него сделать редирект через htaccess на host.com ???
и еще, урл может быть вида host.com/index.php?p=5&m=3 то бишь $m это типа подраздела, необходимо чтобы оттуда тоже был редирект на host.com
кароче, если ?p=5 или ?p=5&m=3 то сразу редирект на корень.
конструкция вида:
Код:
RewriteEngine on
RewriteRule ^index.php?p=5(.*)$ index.php [R=301,L]
чета не пашет(тут без подразделов). Помогите плизз, очень нада.
С меня рейтинг
цитата
24/05/08 в 13:19
Corex
Можно вот так:
Код:
RewriteEngine on
RewriteCond %{REQUEST_URI} index.php
RewriteCond %{QUERY_STRING} (p=5|p=5&m=3)
RewriteRule .* /index.php [R=301,L]
цитата
24/05/08 в 15:22
_s_[sov]
Все вроде работает, но есть одна трабла.
После редиректа урл становится видом
Код:
index.php?p=5&m=3
то есть открывается главная пага, но один хуй в строке запроса остается прежний урл. Как это исправить?
цитата
24/05/08 в 15:42
Kitschy
Предлогаю строку
Код:
RewriteCond %{QUERY_STRING} (p=5|p=5&m=3)
заменить на:
Код:
RewriteCond %{QUERY_STRING} ^p=(.+)
сразу станет ясно почему не работает
ПО сабжу жаль, но у меня не получилось пока никак сделать то что надо.
цитата
24/05/08 в 15:49
_s_[sov]
правило
Corex
работает как нада, но в строке остается прежний урл. как бы сделать чтоб остался чистый index.php ?
цитата
24/05/08 в 17:44
Smarty
<?php
if (isset($_GET[p]) && ($_GET[p]==5)){
header("HTTP/1.1 301 Moved Permanently");
header("Location: /index.php");
exit();
}
?>
на пхп редирект
цитата
24/05/08 в 17:45
_s_[sov]
Мне нада через htaccess
на php я бы уже давно это реализовал.
цитата
24/05/08 в 17:58
adminZ
через htaccess походу неполучится так редирект сделать...
Обзови этот пхп скрипт
<?php header("location:http://host.com/index.html"); ?>
redirect.php
и напиши в htaccess
RewriteEngine on
RewriteCond %{REQUEST_URI} index.php
RewriteCond %{QUERY_STRING} (p=5|p=5&m=3)
RewriteRule .* /redirect.php [R=301,L]
цитата
24/05/08 в 18:04
_s_[sov]
А поисковики как отнесутся к двойному редиректу?
цитата
24/05/08 в 20:31
Smarty
херово. используй редирект на пхп - не парься )
цитата
24/05/08 в 21:36
Corex
Точно, строка запроса передаётся. Попробуй обмануть апач вот так, должно сработать:
Код:
RewriteEngine on
RewriteCond %{REQUEST_URI} index.php
RewriteCond %{QUERY_STRING} (p=5|p=5&m=3)
RewriteRule .* /index.php
?
[R=301,L]
цитата
25/05/08 в 08:07
_s_[sov]
Corex
огромный респект тебе и +5
Я под себя еще чуток подправил правило но идею твою понял. Еще раз огромное спасибо!
цитата
25/05/08 в 08:29
Corex
_s_[sov]:
, не за что!
Новая тема
Ответить
Эта страница в полной версии