使用 URL 参数的 PHP 重定向
Posted
技术标签:
【中文标题】使用 URL 参数的 PHP 重定向【英文标题】:PHP Redirect using URL Params 【发布时间】:2021-11-03 20:55:48 【问题描述】:我想使用 php 创建一个重定向,从 url 参数中捕获键,并重写它的关联值,例如:
https://somewhere.com/folder/?a_param=123
到
https://somewhere_else.com/?b_param=123
如果对初学者有任何指导,我们将不胜感激。
【问题讨论】:
【参考方案1】:使用 php 头文件
header('Location: https://somewhere_else.com/?b_param=' . $_GET['a_param']);
exit();
【讨论】:
【参考方案2】:一般来说,在 PHP 中你可以这样重定向:
header("Location:" . $somewhere);
exit;
如果您有一个名为 rd.php
的文件,您将使用如下代码:
https://somewhere.com/folder/rd.php?a_param=123
在 rd.php 中
<?php
$param = $_GET['a_param'];
header("Location: https://somewhere_else/?b_param=$param");
exit;
如果你想实现https://somewhere.com/folder/?a_param=123,这意味着你不想要rd.php 部分,你将需要apache2 或任何你正在使用的网络服务器的帮助。您可以使用 Apache mod_rewrite 来执行此操作。
# Put this in document_root/folder
# .htaccess
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^(.*)$ rd.php [QSA,L]
【讨论】:
这非常有帮助并完成了工作。不幸的是,我刚刚发现我试图让这个脚本运行的网站实际上是在 Squarespace 上运行的,它们不允许自定义服务器端脚本。那么......是否有可能用javascript实现相同的目标?欣赏这与我最初的问题有很大的不同...... 我想你可以。打开一个新问题。以上是关于使用 URL 参数的 PHP 重定向的主要内容,如果未能解决你的问题,请参考以下文章
根据缺少 URL 参数或参数是不是为空来重定向页面 - PHP