Ok поэтому у меня есть URL-адрес, как это:Htaccess Строка запроса перенаправления
http://example.com/admin/test.php?action=edit&id=2
Однако мне нужно добавить в правило перенаправлять это на другой URL со строкой запроса, как это:
http://example.com/admin/login.php?redirect=test.php%3Faction%3Dedit%26id%3D2
я добавил правило так:
RewriteRule ^admin/(.*)?$ /login.php?redirect=/admin/$1?%{QUERY_STRING} [R,L]
И это работает по большей части, но есть одна проблема, строка запроса не является сбежал, поэтому он думает, что это другие переменные $ _GET. Это выглядит так:
http://example.com/admin/login.php?redirect=test.php%3Faction=edit&id=2
Таким образом, переадресация читается как test.php? Action = edit. Он отсутствует id = 2, потому что он читает его как другую переменную $ _GET вместо части $ _GET ['redirect'].
Возможно ли избежать% {QUERY_STRING}? У меня есть googled все, что я могу думать, и не могу найти ответ нигде.
где вы перенаправляете, потому что вы можете добавить что-то вроде «location (« header: login.php? ». encodeuri (текущий url));' на свою страницу, которая выполняет перенаправление. Затем, если параметр перенаправления отправлен, а логин в порядке, используйте заголовок decodeuri (перенаправление) – Class
У меня нет возможности сделать это. Я работаю в Wordpress, и он приходит по электронной почте, которая автоматически отправляется. Поэтому он отправляет этот url, но мне нужно перенаправить его на логин с перенаправлением в качестве параметра. – ngreenwood6