[英]How to get a variable from url and 301 redirect with php?
我想从网址中获取一个变量,并将301重定向访问者重定向到新域,并将该变量包含在php中的新网址中。
例如,访问者来到该站点上的我的站点http://example.com/?id=abc ,我有一个index.php文件,上面带有这种代码:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.New-Website.com/?id=$_GET["id"]");
?>
我想301将访问者重定向到具有相同变量的新网站。
此代码给我错误500。
我知道这可以在.htaccess中完成,但我需要在php中完成。
您不能在双引号字符串内使用双引号
因此将$_GET["id"]
修改为
header("Location: http://www.New-Website.com/?id=$_GET[id]");
要么
header("Location: http://www.New-Website.com/?id={$_GET['id']}");
第二行错误。 双引号不能转义。 建议取出该位置并使用串联。 甚至更好,并指定数据类型
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: New-Website.com/?id=".(int)$_GET["id"]);
如果您使用的是Apache,只需在旧域的根目录中添加一个.htaccess
文件,内容如下:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.New-Website.com/$1 [R=301,L]
并且所有对旧域的请求都将重定向到新域
在这里查看示例
<?php
header("Status: 301 Moved Permanently");
header("Location:http://www.New-Website.com/?". $_SERVER['QUERY_STRING']);
exit;?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.