@johannes_hirshfeld

Как сделать редирект POST запросов с заменой параметров?

начальная ссылка (например)

http://sms.example.com/public/http/?user=andrey&pass=andrey123&action=post_sms&target=71234567890&sender=andrey-win&message=privet


необходимо принести к

http://s1.example.com/sys/send.php?login=andrey&psw=andrey123&sender=andrey-win&phones=71234567890&mes=privet


меняются:
user на login
pass на psw
target на phones
message на mes

action=post_sms можно оставить

спасибо
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
@johannes_hirshfeld Автор вопроса
Пока ждал смастерил вот что :)
<?php


$login=$_POST['user'];
$psw=$_POST['pass'];
$phones=$_POST['target'];
$mes=$_POST['message'];
$sender=$_POST['sender'];


print file_get_contents('http://s1.example.com/sys/send.php?charset=utf-8&login=' . $login . '&psw=' . $psw . '&phones=' . $phones . '&mes=' . $mes . '&sender=' . $sender . '"');


?>


работает на ура :)
спасибо
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
1. Это GET-запросы.
2. В настройках nginx есть инструкция rewrite, позволяющая прогнать url через регулярку.
3. Но, поскольку домены разные, не исключаю, что вам на самом деле нужен вызов cUrl в обработчике этой ссылки.
Ответ написан
@MaksPaverov
По такому принципу в htaccess:
.htaccess
RewriteCond %{QUERY_STRING} ^user=(.*)$ [NC]
RewriteRule ^odin\.php$ http://s1.example.com/sys/send.php?login=%1 [R=301,L]


Либо в PHP:
PHP
header( "s1.example.com/sys/send.php?login=" . $_GET["user"] );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
IMAGINWEB Москва
от 55 000 до 85 000 руб.
Владис Владимир
от 100 000 до 150 000 руб.
Индекс.СРО Ростов-на-Дону
от 45 000 до 70 000 руб.