Удаление строки запроса .htaccess - не могу понять, как - PullRequest
0 голосов
/ 21 сентября 2011

re,

Я не могу понять, как удалить строку запроса из URL, перенаправить на другой URL и передать эту строку запроса в сценарий PHP:

RewriteRule ^shopping/paypal/([0-9A-Za-z]*)?$ https://myserver.com/shopping/? [R=301,L]

RewriteRule ^shopping/$ php/shopping.php [QSA,L]

В основном, когда я получаю следующий запрос:

https://myserver.com/shopping/paypal/?token=EC-3L827812DL640424T

Я хочу, чтобы он перенаправил на:

https://myserver.com/shopping/

, а поскольку / shopping / является "виртуальным" каталогом, я хочу, чтобы он прошелключ токена и сопоставьте его с:

php/shopping.php?token=EC-3L827812DL640424T

Пожалуйста, сообщите.Спасибо!

1 Ответ

0 голосов
/ 22 сентября 2011

Я бы посоветовал вам использовать промежуточный PHP-скрипт, подобный этому:

RewriteRule ^shopping/paypal/([0-9A-Za-z]*)?$ php/savetoken.php [QSA,L]
RewriteRule ^shopping/$ php/shopping.php [L]

, где в savetoken.php:

<?php
    session_start();
    $_SESSION['token'] = $_GET['token'];
    header("HTTP/1.1 301 Moved Permanently"); //without this PHP issues a 302
    header('Location: shopping/');
    exit;

Затем в shopping.php вы начинаете сеанс ипрочитать значение токена из него (и, возможно, удалить его из сеанса, чтобы предотвратить его появление в будущем)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...