繁体   English   中英

如何从网址获取变量并使用php 301重定向?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM