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

I want to get a variable from the url and 301 redirect visitors to new domain and include that variable in the new url in php.

For example, visitor comes to my site http://example.com/?id=abc on that site I have an index.php file that has this kind of code on it:

<?php 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.New-Website.com/?id=$_GET["id"]"); 
?>

I want to 301 redirect the visitors to a new website with the same variable.

This code gives me error 500.

I know this could be done in .htaccess but I need to do it in php.

You cannot use a double quote inside a double quoted string

So amend $_GET["id"] to

header("Location: http://www.New-Website.com/?id=$_GET[id]"); 

Or

header("Location: http://www.New-Website.com/?id={$_GET['id']}"); 

Error in the second line. Double quotes are not escaped. It is advisable to take out of the location and using concatenation. Even better, and specify the type of data

<?php 
 header("HTTP/1.1 301 Moved Permanently"); 
 header("Location: New-Website.com/?id=".(int)$_GET["id"]);

If you are using apache, just add a .htaccess file in root of your old domain with the content:

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.New-Website.com/$1 [R=301,L]

and all the requests to old domain will be redirected to a new one

see example here

<?php
header("Status: 301 Moved Permanently");
header("Location:http://www.New-Website.com/?". $_SERVER['QUERY_STRING']);
exit;?>