.htaccess “切”字_转义的“U片段”;并重定向到html/php
我在谷歌搜索控制台中看到一些链接,它们看起来像这样:.htaccess “切”字_转义的“U片段”;并重定向到html/php,.htaccess,redirect,mod-rewrite,.htaccess,Redirect,Mod Rewrite,我在谷歌搜索控制台中看到一些链接,它们看起来像这样: example.com/somedir/3.html?_escaped_fragment_= 如何剪切此部分:?\u转义\u片段\u=并重定向到当前html/php文件 应该是这样的: example.com/somedir/3.html?_escaped_fragment_= 用户输入此链接:example.com/somedir/3.html?\u转义\u片段\u= 并重定向到example.com/somedir/3.html
example.com/somedir/3.html?_escaped_fragment_=
如何剪切此部分:?\u转义\u片段\u=
并重定向到当前html/php文件
应该是这样的:
example.com/somedir/3.html?_escaped_fragment_=
- 用户输入此链接:
example.com/somedir/3.html?\u转义\u片段\u=
- 并重定向到
example.com/somedir/3.html
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%1? [L,R=301]
请提供帮助。请注意,
\u转义\u片段
URL参数是使用#的一部分代码>样式URL-因此请确保您的站点仍然没有利用此功能
这是正确的想法,因为您需要检查QUERY\u字符串
服务器变量的值,但是,目标URL可能不正确。(如果您仍在使用此规范,则可能是正确的。)
请尝试以下方法:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=
RewriteRule (.*) /$1 [QSD,R=302,L]
上面应该将example.com/somedir/3.html?\u转义\u片段
格式的URL重定向到example.com/somedir/3.html
QSD
标志(Apache 2.4+)是从目标URL中删除查询字符串所必需的
请注意,这是一个302(临时)重定向。只有在确认301(永久)重定向工作正常后才更改它,以避免缓存问题。301重定向由浏览器永久缓存(包括任何错误的重定向)
用户输入此链接:example.com/somedir/3.html?\u转义\u片段\u=
用户通常不会输入这样的链接。他们甚至不应该被链接到搜索引擎或者被搜索引擎发现,除非在某一点上可能存在站点配置错误?因此,根据这些URL如何/从哪里链接(检查GSC中的报告),您甚至可以考虑阻塞这些URL吗?例如:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=
RewriteRule ^ - [F]
以上将返回一个403禁止代替