Google 控制台上弹出了以下奇怪的 URL...
我没有添加它们,我也不知道它们来自哪里。
https://www.example.com/gallery.html?page=3
https://www.example.com/gallery.html?page=2
https://www.example.com/gallery.html?page=1
我的 301 重定向适用于其他页面,但不适用于上述 URL
任何人都可以帮助我吗,我想将他们重定向到.htaccess
添加到我的/gallery.html
,适用于其他重定向
.htaccess
RedirectMatch 301 /gallery.html?page=1 /gallery.html
页面
(根据你的例子,我认为你的意思是
Gallery.html
?)
您无法使用 mod_aliasgallery.html
(或
?
)指令来匹配 URL 的查询字符串部分(第一个 RedirectMatch
之后的所有内容)。 Redirect
指令仅与 URL 路径匹配。但是,这也需要正则表达式,因此 RedirectMatch
和 .
是正则表达式中的特殊字符。您需要使用 mod_rewrite 来代替,并附加一个检查 ?
服务器变量的条件。
要重定向QUERY_STRING
(其中
/gallery.html?page=<number>
是 0-9 的任何数字序列),那么您需要在 <number>
文件顶部执行类似以下操作(指令的顺序很重要):.htaccess
RewriteEngine On
# Redirect to remove "?page=" query string
RewriteCond %{QUERY_STRING} ^page=\d*$
RewriteRule ^gallery\.html$ /$0 [QSD,R=301,L]
反向引用包含来自
$0
模式的整个匹配(即“
RewriteRule
”)。gallery.html
子模式匹配数字0-9零次或多次。
需要\d*
(查询字符串丢弃)标志才能从重定向响应中删除查询字符串。
如果查询字符串中有任何其他 URL 参数,则不会发生重定向(因为正则表达式不匹配)。首先使用 302(临时)重定向进行测试,以避免潜在的缓存问题。
Google 控制台上弹出了以下奇怪的 URL...
我确实设置了规范,但谷歌仍然给出错误“具有正确规范标签的替代页面”我不确定你到底在哪里看到的?但这不一定看起来像“错误”。 (您的
QSD
标签似乎已正确配置。)
对您的域进行 Googlerel="canonical"
搜索不会返回有问题的 URL,仅返回
site:
,因此此重定向可能没有必要。