如何将WordPress中带?amp=1的AMP链接重定向至普通链接
WordPress AMP查询参数链接重定向解决方案
方法一:使用Redirection插件(可视化操作)
- 安装并激活Redirection插件后,进入插件后台添加新重定向:
- 来源设置:
- 来源URL填写
/(.*) - 找到「查询参数」选项,选择「匹配特定查询参数」,添加参数
amp,值设为1
- 来源URL填写
- 目标设置:目标URL填写
/$1(自动对应原链接去掉amp=1后的路径) - 重定向类型选择「301 - 永久重定向」,保存即可
- 来源设置:
方法二:通过主题functions.php添加代码
直接在当前活跃主题的functions.php文件末尾添加以下代码,无需插件即可实现重定向:
function redirect_amp_param() { if ( isset( $_GET['amp'] ) && $_GET['amp'] === '1' ) { $clean_url = remove_query_arg( 'amp', $_SERVER['REQUEST_URI'] ); wp_redirect( home_url( $clean_url ), 301 ); exit; } } add_action( 'template_redirect', 'redirect_amp_param' );
代码逻辑:检测URL是否带有amp=1参数,若存在则移除该参数,跳转到清理后的链接,301永久重定向确保搜索引擎更新收录。
方法三:修改.htaccess文件(服务器级重定向)
适合熟悉服务器配置的用户,在网站根目录的.htaccess文件中,WordPress默认规则之前添加以下规则:
RewriteEngine On # 匹配仅带有amp=1的链接 RewriteCond %{QUERY_STRING} ^amp=1$ RewriteRule ^(.*)$ /$1? [R=301,L] # 匹配带有amp=1及其他参数的链接(如?p=123&=1) RewriteCond %{QUERY_STRING} (^|&)amp=1(&|$) RewriteRule ^(.*)$ /$1?%1%3 [R=301,L]
规则说明:第一条处理仅含amp=1的URL,第二条处理同时带有其他参数的URL,均会移除amp=1并301重定向。
注意事项
- 测试验证:手动访问带
?amp=1的链接,确认是否正确跳转到对应普通链接 - 301重定向:永久重定向有助于搜索引擎快速更新收录的AMP链接为普通链接
- 备份文件:修改
functions.php或.htaccess前,建议先备份文件,避免操作失误导致网站异常
内容的提问来源于stack exchange,提问作者Jonas
相关产品推荐
相关产品推荐

