@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 можно оставить

спасибо
  • Вопрос задан
  • 68 просмотров
Решения вопроса 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"] );
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Ticketland.ru Москва
от 120 000 руб.
Интерно Ростов-на-Дону
от 35 000 до 50 000 руб.
СиСорт Барнаул
от 40 000 до 115 000 руб.