使用 HTACCESS 从 URL 中删除引号字符串
Remove qutation mark sring from URL with HTACCESS
我们看到一个奇怪的事情,机器人发送奇怪的 URLs。他们在我们拥有的 url 中添加了一个 alexa URL。我们希望删除 URL 的那部分,因此它只包含奇数 URL 加法
之前的所有内容
所以我们想从
www.example.com/search/Linux/page/6/”http:/www.alexa.com/siteinfo/www.example.com“/page/900
到
www.example.com/search/Linux/page/6/
删除:”http:/www.alexa.com/siteinfo/www.example.com“/page/900
由于它有引号,我们不确定什么 htaccess 规则可以重写 URL,但愿意接受建议。
Not sure where the requests are coming from, only see them with our 404 monitor.
如果这些请求触发了 404(它们应该是),那么您实际上已经“阻止”了此类请求 - 它们不会无意中被搜索引擎编入索引。
但是,如果第三方错误地使用这些错误链接链接到您,那么您可能 正在失去流量。您可以重定向以删除 URL.
的错误部分
Due to it having the quotes, we I am unsure what htaccess rule would work to rewrite the URL, but am open to suggestions.
URL 中的引号匹配没有什么特别之处。但是,您问题中使用的引号不是“标准”double-quotes。开头引号是“U+201D:右双引号”,结尾是“U+201C:左双引号”。这不是问题,我们可以检查所有三个。
例如,使用 .htaccess
文件顶部的 mod_rewrite 从第一个引号字符开始删除 URL 的部分:
RewriteEngine On
# Remove everything from the first double quote onwards
RewriteRule ^([^"”“]+)["”“] / [R=301,L]
</code> 反向引用包含第一个双引号字符 URL-path <em> 之前 </em> 的部分。</p>
<p>保留原始查询字符串(如果有)。</p>
<p>首先使用 302(临时)重定向进行测试以避免潜在的缓存问题。</p>
<p>或者,如果您的 URL 仅限于已知的字符子集,例如。 <code>a-z
、A-Z
、0-9
、_
(下划线)、-
(连字符)、/
(斜杠 - 路径分隔符)然后检查有效字符代替。例如:
# Remove everything from the first "invalid character"
RewriteRule ^([\w-/]+)[^\w-/] / [R=301,L]
我们看到一个奇怪的事情,机器人发送奇怪的 URLs。他们在我们拥有的 url 中添加了一个 alexa URL。我们希望删除 URL 的那部分,因此它只包含奇数 URL 加法
之前的所有内容所以我们想从
www.example.com/search/Linux/page/6/”http:/www.alexa.com/siteinfo/www.example.com“/page/900
到
www.example.com/search/Linux/page/6/
删除:”http:/www.alexa.com/siteinfo/www.example.com“/page/900
由于它有引号,我们不确定什么 htaccess 规则可以重写 URL,但愿意接受建议。
Not sure where the requests are coming from, only see them with our 404 monitor.
如果这些请求触发了 404(它们应该是),那么您实际上已经“阻止”了此类请求 - 它们不会无意中被搜索引擎编入索引。
但是,如果第三方错误地使用这些错误链接链接到您,那么您可能 正在失去流量。您可以重定向以删除 URL.
的错误部分Due to it having the quotes, we I am unsure what htaccess rule would work to rewrite the URL, but am open to suggestions.
URL 中的引号匹配没有什么特别之处。但是,您问题中使用的引号不是“标准”double-quotes。开头引号是“U+201D:右双引号”,结尾是“U+201C:左双引号”。这不是问题,我们可以检查所有三个。
例如,使用 .htaccess
文件顶部的 mod_rewrite 从第一个引号字符开始删除 URL 的部分:
RewriteEngine On
# Remove everything from the first double quote onwards
RewriteRule ^([^"”“]+)["”“] / [R=301,L]
</code> 反向引用包含第一个双引号字符 URL-path <em> 之前 </em> 的部分。</p>
<p>保留原始查询字符串(如果有)。</p>
<p>首先使用 302(临时)重定向进行测试以避免潜在的缓存问题。</p>
<p>或者,如果您的 URL 仅限于已知的字符子集,例如。 <code>a-z
、A-Z
、0-9
、_
(下划线)、-
(连字符)、/
(斜杠 - 路径分隔符)然后检查有效字符代替。例如:
# Remove everything from the first "invalid character"
RewriteRule ^([\w-/]+)[^\w-/] / [R=301,L]