URL перезаписать, чтобы удалить параметр, но отправить его - PullRequest
0 голосов
/ 03 июля 2010

В настоящее время я использую register.php? Referal = gamestand на своем веб-сайте, чтобы, когда пользователь посещает мой веб-сайт через реферальный веб-сайт, я мог отслеживать, сколько игроков зарегистрировалось с этого места.

referal = gamestand автоматически заполнит текстовое поле ввода в процессе регистрации, используя echo $ _GET ['code'];

Проблема в том, что ... в Google у меня есть множество ссылок от этих рефералов, и я хотел бы разместить их 301 на моей странице register.php, чтобы объединить результаты SEO и в конечном итоге удалить этот глупый код register.php? = ссылки в стиле игровой стойки от Google.

У меня есть это правило перезаписи ..., которое удаляет бит? Code = gamestand, но фактически не передает параметр, возможно потому, что оно перенаправляет и ничего не отправляет?

RewriteCond %{QUERY_STRING} ^(.*)code(.*)$
RewriteRule ^(.*)$ http://localhost/mywebsite/httpdocs/register.php? [R=301,L] 

он изменит register.php? Code = gamestand на register.php, но, как я уже сказал, $ _GET ['code'] теперь пусто, и я вернулся к исходной точке!

Ценю любую помощь, если кто-нибудь что-нибудь знает ... Спасибо! Dom

Ответы [ 2 ]

0 голосов
/ 03 июля 2010

Перенаправление этих URL-адресов на один и тот же URL-адрес, вероятно, не объединит ваш рейтинг SEO в один. Ваш текущий метод в порядке, не связывайтесь с ним.

0 голосов
/ 03 июля 2010

Вы можете сохранить реферер в переменной сеанса, а затем перенаправить на register.php без кода. Ваш URL больше не будет содержать код, но он доступен через сеанс.

session_start();
if (isset($_GET['code'])) {
  $_SESSION['code'] = $_GET['code'];
  header('Location: register.php');
  exit;
}

...

echo $_SESSION['code'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...