WordPress中移除域名后URL参数问题求助(Permalink设置无效)
移除URL额外参数的解决方法
确认固定链接设置是否正确生效
先进入后台固定链接设置页面(可选「朴素」或自定义结构),务必点击「保存更改」。保存后服务器会自动生成.htaccess文件,若未生成,检查文件权限(设为644或755),或手动添加规则。用.htaccess重写规则强制清除参数
若固定链接设置后参数仍存在,直接在.htaccess文件中添加以下规则(放在WordPress默认规则之前):RewriteEngine On RewriteCond %{QUERY_STRING} ^v= [NC] RewriteRule ^(.*)$ /$1? [R=301,L]这条规则会匹配所有带
v=开头的查询参数,通过301永久重定向跳转到不带参数的URL,同时清空所有查询参数。用主题代码过滤并自动跳转
如果你使用的是WordPress站点,可在主题的functions.php文件末尾添加以下代码:function remove_unwanted_query_vars($vars) { if (isset($vars['v'])) { unset($vars['v']); } return $vars; } add_filter('query_vars', 'remove_unwanted_query_vars'); function redirect_remove_params() { if (isset($_GET['v'])) { $url = home_url($_SERVER['REQUEST_URI']); $url = remove_query_arg('v', $url); wp_redirect($url, 301); exit; } } add_action('template_redirect', 'redirect_remove_params');这段代码会先移除无用的查询变量,再自动将带参数的请求重定向到干净的URL。
彻底清除各类缓存
很多时候设置不生效是缓存导致的,需彻底清除浏览器缓存(按Ctrl+Shift+Delete)、后台插件缓存(如WP Rocket、W3 Total Cache等)、服务器缓存及CDN缓存,之后再测试链接效果。
内容的提问来源于stack exchange,提问作者ibiyemi oluyemi
相关产品推荐
相关产品推荐

