我最近从blogger切换到wordpress,并注意到许多传入链接在我的帖子链接末尾添加了?m=1
参数。
示例:
http://www.example.com/2015/06/name-of-blog-post.html?m=1
我搜索了一种取出?m=1
参数的方法,但我在此网站上发现了类似的情况,但该人也遇到了一些问题,其中某些链接缺失.html
。
据我所知,我的所有链接都添加了.html
,所以我不知道他的代码会起作用。
对我来说,解决这个问题最简单,最好的方法是什么?
答案 0 :(得分:2)
您无法更改传入的链接 - 这些链接是由用户点击的页面上的href
标记设置的。
除非您的页面使用该变量,否则它不会影响页面上的内容,例如在PHP中通过$_GET
:
$data = $_GET["m"];
print $data; //will output "1"
通常在这种意义上使用它来查看推介的来源 - 例如,Facebook会将?ref=ts
附加到外发链接的末尾,以显示它是从“热门搜索”中点击的。
答案 1 :(得分:1)
要在?m=1
(确切地)作为URL参数传递时完全删除查询字符串,那么您可以使用mod_rewrite在根.htaccess文件中执行类似的操作。以下指令应放在.htaccess文件的顶部:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^m=1$
RewriteRule (.*) /$1? [R=302,L]
当您确定它正常工作时,将302
(临时)更改为301
(永久)。由于浏览器缓存了永久重定向,因此不适合进行测试。
但是,如果这只是解决规范化问题(控制搜索引擎正在编制索引的网址),那么您只需在rel="canonical"
部分使用head
元素即可。
此外,在Google Search Console(以前称为Google网站管理员工具)中,您可以指示Google忽略m
网址参数。虽然这显然只会影响谷歌。
如果您需要匹配?m=1
或?m=0
,则可以将 CondPattern 从^m=1$
更改为^m=[01]$
。