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