|
|
|
| здравствуйте. Можно ли сделать редирект, так что бы с нескольких страниц были переходы. Например, что бы со страниц http://www.mysite.ru/main.php?p=60. http://www.mysite.ru/main.php?p=61
http://www.mysite.ru/main.php?p=12 и так далее..их много (просто бы старый сайт) на главную страницу???
я читала про редирект, писала
redirect /main.php?p=60 http://www.newcity.ru
и он не работает, даже если одна страница. Как сделать правильно, подскажите !!! | |
|
|
|
|
|
|
|
для: veriky
(24.08.2004 в 17:26)
| | Имеется в виду сделать редирект средствами Apache или PHP?
Если средствами PHP, то редирект можно осуществить следующим образом. Вообще страница-то одна - main.php и задача сводится к извлечению параметра p и передачи его по новому адресу. Этого можно добиться добавив в начало файла main.php соответствующий HTTP-заголовок
<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://www.newcity.ru/main.php?p=<?php echo $_GET['p']; ?>'>
</HEAD></HTML>
|
или если требуется просто переход на новую страницу
<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://www.newcity.ru'>
</HEAD></HTML>
|
Этот код будет осуществлять редирект в любое указанное в параметре URL место.
PS Если вы хотите использовать файл Apache .htaccess, то вам чуть позже ответит Дизайнер - он у нас спец по укрощению Apache :) | |
|
|
|
|
|
|
|
для: cheops
(24.08.2004 в 17:42)
| | спасибо огромное! я сдела так, но у меня теперь главная страница www.mysite.ru/main.php при загрузке перещелкивается на ут же самую но в адресной строке www.mysite.ru/main.php?p=, а если будет p=60, то опять получается шапка от main c ошибкою :( ..... | |
|
|
|
|
|
|
|
для: veriky
(25.08.2004 в 11:42)
| | Хм... вот что не понятно: ошибку вызывает пустой параметр p или вообще его передача функции main.php? Избавиться от передачи пустого параметра можно следующим образом:
<?php
if(isset($_GET['p']))
{
$str = "http://www.newcity.ru/main.php?p=".$_GET['p'];
} else {
$str = "http://www.newcity.ru/main.php";
// или
// $str = "http://www.newcity.ru/main.php?p=1";
// где p=1 работает 100%
}
?>
<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=<?php echo $str; ?>'>
</HEAD></HTML>
|
| |
|
|
|
|
|
|
|
для: cheops
(25.08.2004 в 12:38)
| | все осталось как и было :( перещелкивается. | |
|
|
|
|
|
|
|
для: veriky
(25.08.2004 в 13:39)
| | а вот еще такой вариант...я тут полазила и написала :)
<?php
if ($_GET['p']) {
header("Location: http://www.newcity.ru");
}?>
|
в принципе работает....но наполовину.......у меня на сайте встречаются ссылки типа
http://www.mysite.ru/main.php?d=about_shops&p=search
они тоже пересылаются......с этим можно что-ни то сделать?
P.S. и как из апача можно сделать тоже расскажите плизз!!! | |
|
|
|
|
|
|
|
для: veriky
(25.08.2004 в 13:56)
| | >P.S. и как из апача можно сделать тоже расскажите плизз!!!
Давайте сначала точнее разберемся - что нужно сделать.
Т.е. что нужно?
1. Если адрес www.mysite.ru?p=чему_то (с параметром p) то нужно пересылать на адрес http://www.newcity.ru
2. А если без параметра p, то никуда не пересылать? Или тоже должны пересылаться?
>http://www.mysite.ru/main.php?d=about_shops&p=search
они тоже пересылаются......с этим можно что-ни то сделать?
Пересылаются куда? А куда должны пересылаться? | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(25.08.2004 в 15:02)
| | 2. не должны пересылаться
3. из того корявого :) (самокритика) скрипта эти страничик тоже пересылаются на www.mysite.ru
а нужно что бы пересылалися только те странички , у которых есть параметр "р" сразу после "?"
http://www.mysite.ru/main.php?р=about_shops& - должна пересылаться
http://www.mysite.ru/main.php?d=about_shops&p=search - эта страница не должна пересылаться, у нее "р" не после знака "?" | |
|
|
|
|
|
|
|
для: veriky
(26.08.2004 в 11:33)
| | >а нужно что бы пересылалися только те странички , у которых есть параметр "р" сразу после "?"
Вообще то условие не очень хорошее... Ну не очень правильно делать пересылку только на основании какой параметр прописан первым. Ну да ладно. Надо, так надо.
<?
$url=$_SERVER['REQUEST_URI'];
if (strpos($url, "?p=") and !empty($_GET['p'])) header("Location: http://www.newcity.ru");
?>
|
Получаем строку запроса в переменную $url.
Затем смотрим, чтобы параметр p шел после запроса, ну и чтобы был не пустой. Если оба условия выполняются, то тогда перенаправляем на другой адрес. | |
|
|
|