如何在不使用WP插件的情况下在Nginx服务器上使用PHP创建批量301重定向

时间:2019-01-07 作者:Carl Alberto

新的基于Nginx的web服务器设置,并找到了在WP站点中创建大规模301重定向的方法,无需使用任何插件。

在基于Apache的web服务器中这相当容易,因为您只需要在.htaccess 但这在Nginx中不起作用:

Redirect 301 /old-url /new-url

1 个回复
最合适的回答,由SO网友:Carl Alberto 整理而成

似乎最简单的方法是通过PHP,在wp-config.php 文件:

// Trailing slashes matters here so /old1 is different from /old1/
$redirect_targets = array(
  \'/old-url\' => \'/new-url\',
  \'/old-url2\' => \'/new-url2\',
  \'/old-url3\' => \'/new-url3\',
);

// Added a way not to accidentally break wp-cli
if ( (isset($redirect_targets[ $_SERVER[\'REQUEST_URI\'] ] ) ) && (php_sapi_name() != "cli") ) {
  header(\'HTTP/1.0 301 Moved Permanently\');
  header(\'Location: https://\'. $_SERVER[\'HTTP_HOST\'] . $redirect_targets[ $_SERVER[\'REQUEST_URI\'] ]);

  exit();
}

相关推荐

Redirect htaccess

我需要帮助重定向我的页面。例如,我有网站https://example.com. 我需要将内容从https://example.com 到https://example.com/blog. 这不是问题,我通过更改主页URL来做到这一点。这很有效。但现在我需要添加来自旧的重定向https://example.com 到https://xmpl.com.我想用。htaccess,但这不起作用。你们能帮帮我吗?以下是我对此的一些尝试,但两者都不起作用。RewriteEngine On RewriteRu