#php #query-string
#php #запрос-строка
Вопрос:
Я пытаюсь передать переменные простому PHP-скрипту и перенаправить его на разные URL-адреса в зависимости от значений в строке запроса.
Вот что у меня есть в bonus.php:
<?php
if ($_GET['pid'] == '3') {
$bonus = "copy-paste-traffic";
}
elseif ($_GET['pid'] == '5') {
$bonus = "lazy-affiliate-riches";
}
$redirect = "http://affiliatesilverbullet.com/.'$bonus'.-bonus/?mid=.'$_GET['mid']'.amp;pid=.'$_GET['pid']'.";
echo $redirect;
page_redirect($redirect);
?>
Я хочу, чтобы запросы перенаправлялись следующим образом:
asbfree.com/bonus.php?mid=dstruckmanamp;pid=3 -> affiliatesilverbullet.com/copy-paste-traffic-bonus/?mid=dstruckmanamp;pid=3
asbfree.com/bonus.php?mid=dstruckmanamp;pid=5 -> affiliatesilverbullet.com/lazy-affiliate-riches-bonus/?mid=dstruckmanamp;pid=3
Но это не работает.
Что я делаю не так?
Пожалуйста, покажите мне, как исправить мой bonus.php скрипт для выполнения этой работы.
Заранее спасибо!
Дастин
Комментарии:
1. «не работает» — это не объяснение.
2. Опубликуйте код для «page_redirect()»
Ответ №1:
Я думаю, вы можете изменить
$redirect = "http://affiliatesilverbullet.com/.'$bonus'.-bonus/?mid=.'$_GET['mid']'.amp;pid=.'$_GET['pid']'.";
Для
$redirect = "http://affiliatesilverbullet.com/".$bonus."-bonus/?mid=".$_GET['mid']."amp;pid=".$_GET['pid'];
РЕДАКТИРОВАТЬ : … измените elseif
на else if
, page_redirect
на http_redirect
и удалите echo
или поместите после функции перенаправления.
Комментарии:
1. это также не устранило проблему.
Ответ №2:
Я бы использовал header("Location: $redirect");
вместо page_redirect($redirect);
.
Комментарии:
1. Я думаю, вы имеете в виду
header("Location: $redirect");
2. Упс! Спасибо Джейсону за то, что указал на опечатку!
Ответ №3:
Одной из проблем может быть ваша интерполяция переменных. Заменить
$redirect = "http://affiliatesilverbullet.com/.'$bonus'.-bonus/?mid=.'$_GET['mid']'.amp;pid=.'$_GET['pid']'.";
с
$redirect = "http://affiliatesilverbullet.com/{$bonus}-bonus/?mid={$_GET['mid']}amp;pid={$_GET['pid']}";
В следующий раз, когда вы будете публиковать вопрос, было бы полезно опубликовать получаемое вами сообщение об ошибке.
Комментарии:
1. Я обновил, и у меня все еще не работает. Ошибка, которую я получаю, такова: ошибка сервера, на веб-сайте произошла ошибка при извлечении asbfree.com/bonus.php?mid=dstruckmanamp;pid=3 . Возможно, он недоступен для обслуживания или неправильно настроен. Которую вы можете увидеть, если перейдете по URL.
2. Правильно, он выдает ошибку 500 и где-то регистрирует сообщение об ошибке. Я бы проверил журнал ошибок apache.