根据发送的参数进行动态重定向 php
Make dynamic redirection php based on parameters sent
假设我有一个 url 参数化为重定向到其他 url。
示例:
http://XxxXX.net/redirect.php?param1={param1}¶m2={param2}¶m3={param3}¶m4={param4}
我在 redirect.php
中有以下内容
<html><head>
<script>
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1] || ''
);
}
</script>
<script>
var param1 = getURLParameter('param1');
var param2 = getURLParameter('param2');
var param3 = getURLParameter('param3');
var param4 = getURLParameter('param4');
var url = 'http://xxxx.xxxxx.net/yyyy/'+param1+'?param2='+param2+'¶m3='+param3+'¶m4='+param4';
</script>
</head>
<?php
header('Location: url');
?>
<body>
</body></html>
现在,想法是来自第一个 url 调用 redirect.php 的参数可以满足我希望 recirect.php 做的事情。
然后根据收到的参数重定向到动态 url。
这可能吗?
也许我的代码有问题,请帮助我。
您需要在 PHP 中进行重定向吗?
如果没有,您可以 window.location = url;
或 window.location.replace(url);
虽然这个问题有一个可接受的答案,但我提供以下解决方案是因为:
- 问题被标记为 PHP,而不是 JavaScript
- 接受的答案不是最初要求的动态解决方案
then redirect to a dynamic url based on the parameters received.
示例 URL:http://localhost/test.php?hello=world&foo=bar
获取查询字符串参数:
$query = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
parse_str($query, $result);
echo '<pre>';
print_r($result);
echo '</pre>';
输出:
Array
(
[hello] => world
[foo] => bar
)
要执行重定向:
header('Location: http://www.example.com/?' . http_build_query($result));
这将重定向到:http://www.example.com/?hello=world&foo=bar
假设我有一个 url 参数化为重定向到其他 url。
示例:
http://XxxXX.net/redirect.php?param1={param1}¶m2={param2}¶m3={param3}¶m4={param4}
我在 redirect.php
中有以下内容<html><head>
<script>
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1] || ''
);
}
</script>
<script>
var param1 = getURLParameter('param1');
var param2 = getURLParameter('param2');
var param3 = getURLParameter('param3');
var param4 = getURLParameter('param4');
var url = 'http://xxxx.xxxxx.net/yyyy/'+param1+'?param2='+param2+'¶m3='+param3+'¶m4='+param4';
</script>
</head>
<?php
header('Location: url');
?>
<body>
</body></html>
现在,想法是来自第一个 url 调用 redirect.php 的参数可以满足我希望 recirect.php 做的事情。
然后根据收到的参数重定向到动态 url。
这可能吗?
也许我的代码有问题,请帮助我。
您需要在 PHP 中进行重定向吗?
如果没有,您可以 window.location = url;
或 window.location.replace(url);
虽然这个问题有一个可接受的答案,但我提供以下解决方案是因为:
- 问题被标记为 PHP,而不是 JavaScript
- 接受的答案不是最初要求的动态解决方案
then redirect to a dynamic url based on the parameters received.
示例 URL:http://localhost/test.php?hello=world&foo=bar
获取查询字符串参数:
$query = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
parse_str($query, $result);
echo '<pre>';
print_r($result);
echo '</pre>';
输出:
Array
(
[hello] => world
[foo] => bar
)
要执行重定向:
header('Location: http://www.example.com/?' . http_build_query($result));
这将重定向到:http://www.example.com/?hello=world&foo=bar