首页 >CMS教程 >WordPress >在WordPress中重定向旧URL

在WordPress中重定向旧URL

Joseph Gordon-Levitt
Joseph Gordon-Levitt原创
2025-02-21 10:23:12480浏览

Redirecting Old URLs in WordPress

在WordPress中重定向旧URL

我们最近设计了一个系统以重定向旧URL 这样您就可以避免“找不到页面”错误(我建议您在进一步冒险之前阅读它)。在本文中,我们将为WordPress创建一个类似的系统,即流行的PHP CMS。

WordPress有何不同?

> WordPress通过一个index.php文件路由所有请求。在正常情况下,所有未映射到服务器上物理文件或文件夹的URL将由WordPress处理。这包括所有无效的地址,因此无需在Apache或IIS中配置404错误文档。 如果您从第一天开始使用WordPress,则可能不必担心将旧URL重定向。即使您更改永久链接结构(设置>永久链接),系统也很擅长找到正确的页面。但是,如果您是从静态站点或其他CMS迁移的内容,几乎可以肯定的是URL不匹配。

更新主题

我们将在您的WordPress主题中处理重定向。您可以创建一个插件,但是:
  • 重定向是特定于站点的,通用插件会添加更多复杂性>
  • >代码不太可能需要进一步的更新,并且最好避免用户配置或禁用它,并且>>>>
  • 将其嵌入主题中,使其更便宜 - 您只需将主题文件复制到服务器
  • >
  • 首先,以WP-CONTENT/主题/
  • my-theme-name
来定位您的主题文件。许多主题提供404.php 文件以处理“找不到的页面”错误,但是您可以在必要时创建一个错误;例如: 现在,您应该在404.php文件的顶部包含redirect.php,例如: (请注意,WordPress的较早版本可能需要:include(templatePath。'/redirect.php'); - 它也将在最新版本中使用。) 现在,在主题文件夹中创建redirect.php文件,并添加以下代码:
<?php get_header(); ?>

<h1>Page not found</h1>
<p>Sorry, we cannot find that page.</p>
<p>Please browse the sitemap&hellip;</p>

<ul >
<?php wp_list_pages('title_li='); ?>
</ul>

<?php get_footer(); ?>
$ redir URL映射数组可以根据需要进行配置。另外,您可以使用一系列的正则表达式替换或数据库表查找来查找有效的$ Newurl。 我希望这有助于您的WordPress URL困扰。如果您还有管理重定向的其他提示,请在下面留下您的评论。
<?php include('redirect.php'); ?>
<?php get_header(); // etc...
经常询问有关在WordPress中重定向旧URL的问题
<?php
// current address
$oldurl = strtolower($_SERVER['REQUEST_URI']);

// new redirect address
$newurl = '';

// old to new URL map (for you to configure)
$redir = array(

	'index.html' => '/',
	'article1.html' => '/blogs/my-first-article',
	'article2.html' => '/blogs/my-second-article'

);

while ((list($old, $new) = each($redir)) && !$newurl) {
	if (strpos($oldurl, $old) !== false) $newurl = $new;
}

// redirect
if ($newurl != '') {

	header('HTTP/1.1 301 Moved Permanently');
	header("Location: $newurl");
	exit();

}
?>
什么是URL重定向,为什么在WordPress中它很重要?

> URL重定向是一个过程,它将用户和搜索引擎与最初要求的URL发送到不同的URL。这对于WordPress至关重要,原因有几个。首先,它通过确保访问者不会遇到破裂的链接或404个错误来帮助保持良好的用户体验。其次,它通过将Link Juice从旧URL引入新的URL来保留您网站的SEO排名。最后,它允许您更改网站的结构或迁移到新域而不会失去现有流量。

>如何在WordPress中创建301重定向?

> 301重定向是一个永久性重定向,将链接权益的90-99%传递给了重定向页面。在WordPress中,您可以使用诸如重定向或Yoast SEO之类的插件创建301重定向。安装和激活插件后,您可以通过输入旧的和新的URL,选择重定向的类型(301)并保存更改。 302重定向?

301重定向是永久重定向,表明原始页面已永久移至新位置。另一方面,302重定向是临时重定向,当原始页面预计将来再次可用时,使用了。主要区别在于它们如何影响SEO。 301重定向将大部分链接权益传递到新页面,而302重定向则不会。

>

我可以在不使用插件的情况下手动重定向URL吗?在WordPress中,通过编辑.htaccess文件。但是,此方法需要对编码和Apache服务器环境有很好的了解。 .htaccess文件中的任何错误都可能在您的网站上引起严重问题。因此,建议如果您对编码不自信,建议使用插件或寻求专业帮助。

>我如何检查我的重定向是否正常工作?

>

>您可以检查是否重定向通过使用重定向检查器或尖叫青蛙等在线工具来正常工作。这些工具将向您显示服务器返回的HTTP状态代码,以提供所请求的URL。状态代码为301或302表示重定向正常工作。

>

>如果我的重定向不起作用,该怎么办?

>

如果您的重定向不起作用,则应首先检查是否您已经输入了正确的旧URL。如果URL正确,请尝试清除浏览器缓存或使用其他浏览器。如果问题持续存在,则可能是由于与其他插件发生冲突或.htaccess文件的问题。

>如何将URL重定向到外部网站? URL到外部网站,您可以使用与常规重定向相同的过程。只需在“源URL”字段中输入WordPress页面的URL和“目标URL”字段中的外部网站的URL。是的,您可以通过从重定向插件或.htaccess文件中删除重定向规则来撤消WordPress中的重定向。但是,请记住,这将导致原始URL再次访问,如果新URL可用相同的内容。

>我可以在WordPress中创建多少个重定向?但是,重定向太多会减慢您的网站并对您的SEO产生负面影响。因此,建议仅在必要时谨慎地使用重定向。一个目录到另一个目录。当您移动网站的整个部分时,这很有用。在WordPress中,您可以通过在源URL的末尾添加星号(*)在重定向规则中创建一个通配符重定向。

>

以上是在WordPress中重定向旧URL的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn