我在一个网站上有一个博客,我想重定向它。
例如,此URLhttps://example.com/blog/june-2021/name-of-blog-post应重定向到https://example2.com/blog/june-2021/name-of-blog-post
有数百篇博客文章,所以我无法使用数组逐个重定向它们。
我用万神殿做主持人。我将脚本添加到settings.pp.
目前,example.com的所有内容都转到example2.com,因此它无法正常工作。
这是我的脚本:
$url = $_SERVER['REQUEST_URI'];
$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_segments = explode('/', $uri_path);
$blog = $uri_segments[0];
$post_date = $uri_segments[1];
$post_name = $uri_segments[2];
if ((stripos($url, "/blog/") === 0) && (php_sapi_name() != "cli")) {
header('HTTP/1.0 301 Moved Permanently'); header("Location: https://example2.com".$blog.$post_date.$post_name);
if (extension_loaded('newrelic')) {
newrelic_name_transaction("redirect");
}
exit(); }
提前感谢!
您可以通过检查在$_SERVER['REQUEST_URI']
:中的任何位置找到!== false
来检查/blog/
if ((stripos($url, "/blog/") !== false) && (php_sapi_name() != "cli")) {
或者检查是否在$_SERVER['REQUEST_URI']
:的第一个0
位置找到
if ((stripos($url, "/blog/") === 0) && (php_sapi_name() != "cli")) {
备注:
stripos
只需要三个参数,并且只需要前两个Location
标头应该像https://example2.com/blog/june-2021/name-of-blog-post
一样由单个绝对URI组成,因此您可以查看其他$_SERVER
变量来构造一个