删除查询字符串和参数

2024-01-11

由于不值得在这里讨论的原因,Google 一直在为我的一个网站编制索引,其中 URL 中包含不必要的查询字符串,这些字符串是wordfence_lh, hid and wordfence_logHuman。我想修改我的.htaccess文件以删除所有这些查询字符串。

My URLs

example.com/page/111/?wordfence_lh=1&hid=CA2BA660BEFF26B9A17F8F85D7391BD4

example.com/page/80/?wordfence_logHuman=1&hid=647700EBF43600E7BC54103256F1D71B

预期 URL

example.com/page/111/

example.com/page/80/

我找到了一种删除单个参数的方法,但我仍然找不到正则表达式或其他东西来删除多个查询参数。 非常感谢任何帮助,非常感谢!

这是我的一部分.htaccess file:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on [OR]
RewriteCond %{SERVER_PORT} ^555$ [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteRule .* - [E=WPR_SSL:-https]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=WPR_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
RewriteCond %{REQUEST_URI} !^(/(.+/)?feed/?.+/?|/(?:.+/)?embed/|/(index\.php/)?wp\-json(/.*|$)|/cantonicalt/)$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit).* [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" -f
RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" [L]
</IfModule>

除了 3 个 URL 参数 wordfence_lh、hid 和 wordfence_logHuman 之外,我没有看到任何其他参数。我想删除它们

如果您在任何其他 URL 上没有任何其他 URL 参数,那么最简单的方法是删除整个查询字符串(如果存在任何查询字符串)。例如:

# Remove any query string on all URLs
RewriteCond %{QUERY_STRING} .
RewriteRule ^ %{REQUEST_URI} [QSD,R=301,L]

这需要放在顶部.htaccess file, before您现有的指令。

The RewriteCond指令检查是否存在任何查询字符串。这QSDflag 丢弃重定向响应中的查询字符串。

但是,如果您还有其他 URL 参数other需要保留的 URL,然后检查这些特定的 URL 参数(如最初建议的那样),如果存在任何这些 URL 参数,则删除整个查询字符串。例如:

# Remove the entire query string if any one of the URL params are present
RewriteCond %{QUERY_STRING} (&|^)(wordfence_lh|hid|wordfence_logHuman)=
RewriteRule ^ %{REQUEST_URI} [QSD,R=301,L]

但我仍然不想干扰其他测量工具,例如谷歌分析。

这不是问题,除非您在其他 URL 上使用 URL 参数,并且这些参数有时与您要删除的 URL 参数混合在一起?


UPDATE:

最近我刚刚测试过...与你的第二个代码相同吗?有什么不同?

RewriteCond %{QUERY_STRING} ^(.*)&?wordfence_lh=[^&]+&?(.*)$ [NC]
RewriteRule ^/?(.*)$ /$1?%1%2 [R=301,L]

RewriteCond %{QUERY_STRING} ^(.*)&?wordfence_logHuman=[^&]+&?(.*)$ [NC]
RewriteRule ^/?(.*)$ /$1?%1%2 [R=301,L]

RewriteCond %{QUERY_STRING} ^(.*)&?hid=[^&]+&?(.*)$ [NC]
RewriteRule ^/?(.*)$ /$1?%1%2 [R=301,L]

不,这不是“相同”。它“试图”保留与您想要删除的 URL 参数混合在一起的 URL 参数(如我上面最后一句话中提到的) - 这似乎不是您的要求。

然而,这些指令存在一些问题:

  1. 它匹配太多,可能会损坏查询字符串。例如,它不仅匹配hid=,它也会匹配foohid=然后将保留foo可能会“破坏”查询字符串的部分。例如。给定一个查询字符串,例如foohid=123&bar=1,上述指令将重定向到foobar=1这显然是不正确的。

  2. 这一系列 3 条规则可能会触发 3 个外部重定向,因为每次出现要删除的 URL 参数时都会触发一个单独的重定向。这应该(并且可以)避免。在您的示例 URL(仅包含其中两个 URL 参数)中,您将获得两个重定向。两个重定向不一定太糟糕,但是,它可以减少为单个重定向(最坏的情况)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除查询字符串和参数 的相关文章

  • 在 htaccess 文件中使用 RewriteMap

    如何在 htaccess 文件中使用 RewriteMap 指令 当我把它放在那里时 我收到 此处不允许 RewriteMap 错误 我知道当将其放入 httpd conf 或虚拟主机配置文件中时 此错误将会消失 但我想知道是否可以将其放入
  • 根据 WooCommerce 中的特定付款方式添加费用

    在 WooCommerce 中 我需要为特定支付网关申请自定义手续费 我这里有这段代码 如何向 WooCommerce Checkout 添加手续费 http www endocreative com add handling fee wo
  • 将旧锚链接重定向到新锚链接

    我正在彻底修改其他人为我的组织构建的网站 它最初设置为 不太好 的锚链接 其中包含空格 我已经用效果更好的新锚替换了这些锚 例子 其中一位老主播看起来像这样 course To Have哪些浏览器会幸运地转换为 course To 20Ha
  • UI 路由器和查询参数

    我使用 Angular UI Router 和 Elasticsearch 构建了一个小型搜索应用程序 并尝试在结果页面的 url 中获取 UI Router 查询参数 我正在努力实现这个目标 domain com search user
  • Express 4 中的查询字符串变量仍然为空

    按照此处的建议编写简单的服务器堆栈溢出 https stackoverflow com questions 5710358 how to retrieve post query parameters 休息 api js const expr
  • WordPress 管理栏未显示在网站前端

    请问有人可以帮我解决这个问题吗 WordPress 管理栏未显示在我网站的前端 公共可见页面 上 它显示我何时在后端登录 即仪表板 用户设置正常 设置为在查看站点时显示管理栏 我尝试停用 然后重新激活 已安装的插件 但仍然没有显示 只是背景
  • 在 Woocommerce 的单个产品页面上显示特定的自定义产品属性

    我找到了以下代码 https isabelcastillo com woocommerce product attributes functions在产品详细信息页面上显示所有自定义属性 具有我需要的特定条形设计 代码的工作方式就像一个魅力
  • 带有 .htaccess 的漂亮网址?

    我刚刚创建了一个新的 WordPress 页面模板 在其中运行一些 php mysql 脚本 我想对其子页面应用 mod 重写 例如我生成了以下链接 http www quotist com quotes by authors html l
  • PHP和.htaccess认证解决方案

    这是布局 web root admin dir index php js img other files dirs dir files 到目前为止 我使用 htaccess passwd 保护管理目录 因为我希望对该目录中的所有文件 包括
  • htaccess隐藏php扩展时出错,只隐藏html

    我在使用 htaccess 隐藏网站上的 php 扩展时遇到问题 我看到很多网站试图修复它 但没有任何结果 但只有 html 扩展名对我来说是隐藏的 在我的 htaccess 上 我用这个来隐藏扩展 它就在错误页面之后 这是我的 htacc
  • 单击文件下载后,成功后使用 AJAX 重定向到另一个页面

    In my WordPress project my Download button containing a zip file which onClick should be downloaded So the HTML producin
  • WordPress WooCommerce - 使用 WC_Cart 类将可变产品添加到购物车

    我正在尝试将可变产品添加到 WordPress 插件 WooCommerce 的购物车中 到目前为止 我已经能够添加单一 简单的产品 woocommerce gt cart gt add to cart product id quantit
  • mod_rewrite GUI?

    任何人都有用于开发 mod rewrite 规则的图形工具 理想情况下 它会显示重写管道 然后当给定 uri 实例时 会显示应用时的转换 让它们正确设置总是很痛苦 因此任何使其变得更容易的方法都会有所帮助 对于 htaccess 阅读 mo
  • 我的设置未保存在 WordPress 主题选项页面中

    我正在尝试创建一个基于 WordPress 设置 API 的主题选项页面 当我在浏览器中检查 options php 页面时 例如http mysite com wordpress wp admin options php http mys
  • 如何使用额外标记输出 wp_list_categories

    我目前正在使用下面的脚本在无序列表中输出我的所有 WordPress 类别 如何获得带有额外标记的输出 ul ul 例如 ul li Category 1 rsaquo li li Category 2 rsaquo li ul 代替 ul
  • .htaccess 将所有页面重定向到新域上的主页

    我将使用哪个重定向规则来重定向下的所有页面olddomain example被重定向到newdomain example 该网站的结构完全不同 所以我想要每一页在旧域名下重定向到新域名索引页 我认为这可以 在 olddomain examp
  • 如何使用`RewriteRule ^(.*)$ ?id=$1 [L,QSA]`通过.htaccess获取文件目录?

    如何使用 htaccess 获取文件目录RewriteRule id 1 L QSA 如果 htaccess 位于http localhost some dir htaccess我正在打开http localhost some dir he
  • 按类别 ID 获取产品

    我正在为 woocommerce 编写一个定价表插件 用户插入带有 woocommerce 产品类别 ID 的短代码 更新页面后 用户可以看到一个包含产品名称和价格列表的表格 我怎样才能获得带有类别ID的产品列表 在下面的代码中 pid是用
  • htaccess:删除扩展名,并重定向到index.php?p=

    RewriteRule a zA Z0 9 index php page 1 L 我之前的代码将 ex domain com about 重写为domain com index php page about 所以现在 我想添加一种安全措施
  • wordpress - 像 stackoverflow 中那样内嵌 ajax 注释

    我有一个 WordPress 博客 希望为人们提供与 stackoverflow 中添加评论相同的用户体验 有很多评论 ajax 插件 但我找不到一个可以使用的插件 它允许您在主页上内联 进入并添加评论 而无需先深入到单独的单个帖子页面 任

随机推荐

  • 选中时更改复选框标签的颜色

    我试图在选中复选框时更改其标签的颜色 我之前在其他网站上做过此操作 但由于某种原因 我的代码无法在这个网站上运行 我正在使用 Drupal 7 和 bootstrap 3 我的复选框如下所示 div class checkbox div
  • 检测 JPG 图像的文件结尾

    我通过 TCP 连续地将许多图像从我的服务器发送到客户端 现在在客户端 我应该如何有效地检测到这是一个图像的结尾 以便我可以将其保存到文件系统 然后处理下一个图像等等 嗯 不能保证您不会在 jpeg 图像中找到 FFD9 找到 jpeg 图
  • RestSharp 单元测试 NUnit Moq RestResponse 空引用异常

    我在尝试将 Moq 与 RestSharp 结合使用时遇到一些挑战 也许这是我对 Moq 的误解 但由于某种原因 我在尝试模拟 RestResponse 时不断收到空引用异常 这是我的单元测试 Test public void GetAll
  • AWS Cognito 用户池如何防御暴力攻击

    我将使用 AWS Cognito 用户池产品作为应用程序的用户目录 但有几个问题 Amazon 是否向 Cognito 用户池发出限制请求 如果是 限制调用的速率限制是多少 Cognito 如何防御登录名 密码的暴力攻击 经过几个小时的搜索
  • 生成maven项目继承/聚合图

    任何人都知道是否可以轻松生成 Maven 项目继承 聚合图 如下面的链接中所示 http sonatype com books maven book reference figs web pom real multi png http so
  • 使用 Google Analytics 进行 Vuejs 事件跟踪

    我希望跟踪按钮和链接上的谷歌分析事件 通常在 jquery 中 我会传递数据属性中的值并获取它们并调用所需的函数 我知道我不应该使用数据属性 所以我正在寻找执行此操作的最佳方法 可以有多个按钮使用不同的数据用途 属性 执行不同的跟踪 所以我
  • 加入条件查询给出错误“无法找到属性”

    我有两张表 Student 和 Courses 我必须连接两个表并获取特定字段 class Student extends Parent Long id Cache usage CacheConcurrencyStrategy READ W
  • char[] 和 char* 之间的区别? [复制]

    这个问题在这里已经有答案了 可能的重复 C char var 和 char var 之间的区别 https stackoverflow com questions 1880573 c difference between char var
  • 运行我的第一个 java 应用程序时出现 InvalidModuleDescriptorException

    我已经开始学习 Java 并在尝试运行我的第一个程序时遇到了问题 如下所示 public class HelloWorld public static void main String args TODO Auto generated me
  • Rcpp:无法打开共享对象文件

    我正在尝试开发一个 R 包 它利用阵列火 https github com arrayfire arrayfire 感谢 Rcpp 库 我已经开始编写示例代码 让我们将其命名为你好世界 cpp 看起来像这样 include
  • SQLAlchemy 按字段排序()

    我试图按字段对 SQLAlchemy ORM 对象进行排序 但使用特定的值顺序 既不是升序也不是降序 如果我在 MySQL 上执行此查询 它看起来像 SELECT letter FROM alphabet table WHERE lette
  • 在字典中存储函数 [Python]

    我目前正在构建一个应用程序 我需要迭代一系列基本执行相同操作的步骤 从而节省很少量的代码 约 15 行 步骤的数量将根据项目的配置方式而有所不同 因此对我来说为每个潜在实例创建单独的函数似乎有点愚蠢 在 JavaScript 中 我会做这样
  • 以编程方式更改 ASP.NET GridView 中列的样式(填充)

    我需要更改 ASP NET GridView 中一列的填充 而外部 CSS 文件中定义的所有其他 CSS 属性应保持不变 我该怎么做 提前致谢 更新 下面是我解决问题的代码 protected void gvwMaster RowDataB
  • Mac Kiosk 模式 API - 防止用户退出

    我正在编写一个 Mac 10 6 10 7 应用程序 该应用程序在允许用户访问计算机之前对 Active Directory 域对用户进行身份验证 我被告知不能允许用户通过传统登录服务登录 我已准备好身份验证代码 现在正在尝试使此登录窗口全
  • 在nosetests中有条件跳过TestCase装饰器

    有没有办法跳过整个TestCase基于使用鼻子测试的自定义条件 我的意思是unittest skip style I tried import unittest unittest skip No reason class TestFoo o
  • 如何在我的 fcm 消息中使用图像和 vibrate_timings

    我希望我的 FCM 通知包含自定义图像和振动模式 Firebase 提供的 AndroidNotification 类作为示例具有这两个变量 但我还没有看到任何方法让它工作 我尝试通过 C 类 AndroidNotification 将这两
  • 如何使滚动超过某个点后出现浮动菜单? [复制]

    这个问题在这里已经有答案了 我想让四个菜单选项卡在您滚动经过页面上的某个点 例如 1000px 后出现 我希望它们出现时从左向右滑入 这就是我想要的 但位于浏览器的左侧 任何意见都会受到赞赏 首先 您需要从跟踪页面的滚动开始 其次 您需要在
  • 重定向到 ASP.NET Core 的自定义“访问被拒绝”页面

    我正在编写一个使用 Windows 身份验证的 ASP NET Core 1 0 网站 我已经实现了授权并且正在按预期工作 目前 当给定用户的身份验证失败时 会显示通用的 HTTP 403 错误页面 如何配置 ASP NET Core 以便
  • 如何在 .NET 4.0 中使用代码契约而不让我的代码看起来混乱?

    我已经开始使用代码契约 并发现很难立即发现方法的 本质 以这个 非常简单 为例 public static void UserAddNew string domain string username string displayName C
  • 删除查询字符串和参数

    由于不值得在这里讨论的原因 Google 一直在为我的一个网站编制索引 其中 URL 中包含不必要的查询字符串 这些字符串是wordfence lh hid and wordfence logHuman 我想修改我的 htaccess文件以