无法使用PHP正确重定向



我在一个网站上有一个博客,我想重定向它。

例如,此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")) {

备注

  1. stripos只需要三个参数,并且只需要前两个
  2. Location标头应该像https://example2.com/blog/june-2021/name-of-blog-post一样由单个绝对URI组成,因此您可以查看其他$_SERVER变量来构造一个

相关内容

  • 没有找到相关文章

最新更新