php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 24/05/08 в 12:19 |
сабж.
ситуация следующая:
есть урл вида 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] |
чета не пашет(тут без подразделов). Помогите плизз, очень нада.
С меня рейтинг
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 24/05/08 в 13:19 |
Можно вот так:
Код: | RewriteEngine on
RewriteCond %{REQUEST_URI} index.php
RewriteCond %{QUERY_STRING} (p=5|p=5&m=3)
RewriteRule .* /index.php [R=301,L] |
|
|
Power of the lime madness...
|
3
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 24/05/08 в 15:22 |
Все вроде работает, но есть одна трабла.
После редиректа урл становится видом
то есть открывается главная пага, но один хуй в строке запроса остается прежний урл. Как это исправить?
|
|
|
|
С нами с 19.03.07
Сообщения: 129
Рейтинг: 69
|
Добавлено: 24/05/08 в 15:42 |
Предлогаю строку
Код: | RewriteCond %{QUERY_STRING} (p=5|p=5&m=3) |
заменить на:
Код: | RewriteCond %{QUERY_STRING} ^p=(.+) |
сразу станет ясно почему не работает
ПО сабжу жаль, но у меня не получилось пока никак сделать то что надо.
|
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 24/05/08 в 15:49 |
правило Corex работает как нада, но в строке остается прежний урл. как бы сделать чтоб остался чистый index.php ?
|
|
|
|
С нами с 03.07.07
Сообщения: 481
Рейтинг: 862
|
Добавлено: 24/05/08 в 17:44 |
<?php
if (isset($_GET[p]) && ($_GET[p]==5)){
header("HTTP/1.1 301 Moved Permanently");
header("Location: /index.php");
exit();
}
?>
на пхп редирект
|
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 24/05/08 в 17:45 |
Мне нада через htaccess
на php я бы уже давно это реализовал.
|
|
|
|
С нами с 06.10.06
Сообщения: 964
Рейтинг: 742
|
Добавлено: 24/05/08 в 17:58 |
через 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]
|
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 24/05/08 в 18:04 |
А поисковики как отнесутся к двойному редиректу?
|
|
|
|
С нами с 03.07.07
Сообщения: 481
Рейтинг: 862
|
Добавлено: 24/05/08 в 20:31 |
херово. используй редирект на пхп - не парься )
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 24/05/08 в 21:36 |
Точно, строка запроса передаётся. Попробуй обмануть апач вот так, должно сработать:
Код: | RewriteEngine on
RewriteCond %{REQUEST_URI} index.php
RewriteCond %{QUERY_STRING} (p=5|p=5&m=3)
RewriteRule .* /index.php? [R=301,L] |
|
|
Power of the lime madness...
|
5
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 25/05/08 в 08:07 |
Corex огромный респект тебе и +5
Я под себя еще чуток подправил правило но идею твою понял. Еще раз огромное спасибо!
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 25/05/08 в 08:29 |
_s_[sov]:, не за что!
|
|
Power of the lime madness...
|
0
|
|
|