PHP中的重定向[.htaccess-like重定向]

PHP中的重定向[.htaccess-like重定向],php,apache,redirect,Php,Apache,Redirect,我已经更改了我的博客url。我知道。htaccess可以做到这一点 RewriteEngine on RewriteRule (.*) http://my-new-website.com/$1 [R=301] 但是我现在不能使用.htaccess个人原因。。我现在只能使用PHP 我想使用PHP代码来实现这一点 我想重定向 http://my-old-website.com/v/test/new.html 到 我在网上搜索了很多,并在stackoverflow上寻找了更多类似的问题,但我没有找

我已经更改了我的博客url。我知道。htaccess可以做到这一点

RewriteEngine on
RewriteRule (.*) http://my-new-website.com/$1 [R=301]
但是我现在不能使用.htaccess个人原因。。我现在只能使用PHP

我想使用PHP代码来实现这一点

我想重定向

http://my-old-website.com/v/test/new.html

我在网上搜索了很多,并在stackoverflow上寻找了更多类似的问题,但我没有找到任何类似的问题。PHP具有设置自定义标题的标题功能。您所要做的就是将“刷新”设置为不同的页面

header('Refresh:10;url=newwebsite.php' . $_SERVER['REQUEST_URI']);

您可以通过设置位置标题来完成此操作。 以下内容将向添加给定的$\u GET参数,并将其附加到URL:

$newUrl = "http://my-new-website.com/";
$currentPage = $_SERVER['PHP_SELF'];
//building the querystrging (if some GET variables where set):
$queryString = "";
if(count($_GET)) > 0) {
    $queryString = "?" . http_build_query($_GET);
} 

//set the header to redirect:
header('Location:'.$newUrl.$currentPage.$queryString);
即: 重定向http://example.com/v/file1.php?key1=val1&key2=val2 到http://my-new-website.com/v/file1.php?key1=val1&key2=val2

只需使用位置标题即可


查看元刷新、javascript重定向或来自PHPuse headerLocation:yoursite.com的头调用;这应该是你要找的@SterlingArcher我将在我的旧网站my-old-website.com中创建php文件,我想将其重定向到我的新网站。。。如果url为a.com/post-one.html,则应重定向至b.com/post-one.html。仅应更改域名a、b分别为旧站点和新站点。。所以JAVA脚本可能不起作用:你为什么对我大喊大叫我只是想帮你D:我将把php文件放在我的旧网站my-old-website.com上,我想把它重定向到我的新网站上。。。如果url是a.com/post-one.html,它应该重定向到b.com/post-one.html。只应更改域名a、b分别是旧站点和新站点。我不理解您的问题。只需将“newwebsite.php”更改为“b.com/post one.html”。不仅是该URL。。。如果是a.com/post-two.html,那么应该重定向到b.com/post-two.html,就像有很多页面一样:。。。。明白了吗我认为它不会将域名改为a.com到b.com:/:并且相同的代码将适用于my-old-website.com.com/post-one.php到my-new-website.com/post-one.php,对吗?重要的是,它应该只改变url中的域名,并保持整个url不变。。。和重定向..这是什么类型的头?$firstRun做什么?当PHP提供@PeeHaa时,所有这些都可以工作:感谢http_build_查询函数的提示。我不知道。免费的?最后,如果没有设置参数,这应该不是什么大问题。但是我改变了它。。。
$newUrl = "http://my-new-website.com/";
$currentPage = $_SERVER['PHP_SELF'];
//building the querystrging (if some GET variables where set):
$queryString = "";
if(count($_GET)) > 0) {
    $queryString = "?" . http_build_query($_GET);
} 

//set the header to redirect:
header('Location:'.$newUrl.$currentPage.$queryString);
header('Location: http://my-new-website.com' . $_SERVER['REQUEST_URI']);
header('Content-Type: text/html');
die('I have moved to my-new-website.com'); // for ancient browsers