如何在WordPress网站无需插件实现指定页面的301重定向
WordPress无插件实现指定页面301重定向
这里提供两种无需插件的自定义代码方案,都是高效且不拖慢网站的选择:
方案一:通过主题functions.php实现(WordPress钩子方式)
这种方法适合不想动服务器配置的用户,直接在主题文件中添加代码即可:
- 登录WordPress后台,进入「外观」→「主题文件编辑器」
- 在右侧文件列表中找到并打开「functions.php」
- 在文件末尾添加以下代码:
add_action('template_redirect', 'captivix_bc_301_redirect'); function captivix_bc_301_redirect() { $old_url = '/solutions/dynamics-365-business-central-implementation'; $new_url = 'https://www.captivix.com/services/microsoft-dynamics-business-central-implementation/'; if (strpos($_SERVER['REQUEST_URI'], $old_url) !== false) { wp_redirect($new_url, 301); exit; } }
- 点击「更新文件」保存即可
注意:如果更换主题,需要把这段代码复制到新主题的functions.php中;建议先备份functions.php再修改,避免语法错误导致网站故障。
方案二:通过.htaccess文件实现(服务器级重定向,效率更高)
这种方法直接在服务器配置层面处理重定向,性能最优,不需要经过WordPress的加载流程:
- 通过FTP或主机控制面板的文件管理器,找到网站根目录下的
.htaccess文件(如果看不到,需开启显示隐藏文件) - 先备份一份
.htaccess文件,防止出错 - 在文件中找到
RewriteEngine On这一行,在它的下方添加以下代码:
RewriteRule ^solutions/dynamics-365-business-central-implementation/?$ https://www.captivix.com/services/microsoft-dynamics-business-central-implementation/ [R=301,L]
- 保存文件即可生效
说明:末尾的/?$是为了匹配带或不带末尾斜杠的旧URL;[R=301,L]标记表示301永久重定向,且这是最后一条规则,避免后续规则干扰。
内容的提问来源于stack exchange,提问作者Vikas Pundora
相关产品推荐
相关产品推荐

