我正在尝试使用php 301重定向移动多个动态URL,而不是htaccess。
我无法弄清楚如何把它放在一起虽然因为我有点超出我的深度,但到目前为止这都是。
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.new-website/new-folder/ $url="http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$url=str_replace('http://www.website.com/old-folder/','',$url);
echo $url; ");
?>
旧网址:http://www.website.com/old-folder/news-article/full.php?= 任何
新网址:http://www.new-website.com/new-folder/news-article/full.php?= 任何内容
我想将当前网址的第二个/之后的任何内容插入标题位置
/ old-folder /之后的任何内容每次都会有所不同。
简单来说,我试图这样做:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.new-website/new-folder/ *insert end of URL from current address bar here* ");
?>
答案 0 :(得分:1)
您正在标题函数中设置变量,然后尝试调用其中的函数。标题(带位置)也应该被赋予一个重定向的位置。
第二个标题调用将替换第一个标题调用,因此您只能使用其中一个:
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$url = str_replace('http://www.website.com/old-folder/','',$url);
header("Location: http://www.new-website/new-folder/$url");
OR
header("Status: 301 Moved Permanently");
答案 1 :(得分:1)
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$url = str_replace('http://www.website.com/old-folder/','',$url);
希望你现在有类似的东西:news-article/full.php?=anything
您现在可以:
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.new-website/new-folder/".$url);
但是,正如已经建议的那样,最好用Htaccess代替php。
答案 2 :(得分:0)
您尝试使用php的最佳方式。只需创建一个临时变量。使用windows.location.href编写自己的JavaScript重定向。将这些脚本分配给该临时变量并回显它。
让我们试着帮助你。