【问题标题】:Remove trailing /connect string using htaccess (301 redirect)使用 htaccess 删除尾随 /connect 字符串(301 重定向)
【发布时间】:2021-03-28 18:18:53
【问题描述】:
example.com/x/connect
example.com/x/y/connect
example.com/*/connect

我正在尝试删除结尾的 /connect 并重定向到不包括 /connect 的 URL。

有人可以为此提供正确的.htaccess 代码吗?我试过了,但没有任何效果。

【问题讨论】:

  • “我试过了,但没有任何效果。” - 你试过什么?您的.htaccess 文件中有现有指令吗?这是一个相对简单的重定向,所以也许有一些更基本的东西阻止了它的工作?

标签: .htaccess


【解决方案1】:

您可以在 .htaccess 文件顶部使用类似以下内容的内容从任何请求的 URL 路径的末尾删除 /connect

 RewriteEngine On

 RewriteRule ^(.*)/connect$ /$1 [R=301,L]

这会将 /<something>/connect 重定向到 /<something> - 从 URL 路径的末尾删除 /connect。但是,当它是唯一的 URL 路径时,它不会删除 /connect。 IE。 example.com/connect 将保持不变。

substitution 字符串中的 $1 反向引用包含在请求的 URL 路径中捕获的 URL 路径 之前 /connect

参考:

【讨论】:

  • 谢谢你的作品,太棒了。当你在这里.. 你能不能也提供 HTACCESS FOR THIS : /bookkeeping?page=5& >> /bookkeeping?page=5 /*?page=*& >> /*?page=* 基本上: 分页 ?page =X& 需要删除尾随的 &。
  • @PaulWilliams 不客气。如果这回答了您的问题,请通过单击答案旁边的勾号/复选标记将其标记为“已接受”(以帮助其他读者并从未回答的问题队列中删除该问题)。获得 15 个代表后,您还可以对您认为有帮助的答案进行投票。谢谢,非常感谢。 :)
  • 如果您还有其他问题,请再问一个问题。 (这似乎是一个完全不同的问题,需要不同的技术。此外,格式在 cmets 中丢失了 - 我不太明白你写了什么?)
  • 我还试图从所有 URL 的末尾删除“&reviews”。如果我使用上面提供的 HTACCESS 规则但用“&reviews”替换它不起作用。 RewriteRule ^(.*)&reviews$ /$1 [R=301,L]
  • 如果您还有其他问题,请提出其他问题。这似乎是一个不同的问题(但从您在 cmets 中发布的内容并不清楚)很可能需要不同的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 2014-11-11
  • 1970-01-01
相关资源
最近更新 更多