重定向匹配 301 正则表达式不起作用

发布于 2024-11-26 22:20:58 字数 234 浏览 1 评论 0原文

我想重定向 http://site.com/home?page=123 http:// site.com/home 但以下规则不起作用

redirectMatch 301 ^/home/\?(.*)$ http://www.site.com/

任何帮助将不胜感激。谢谢

I want to redirect http://site.com/home?page=123 http://site.com/home
but the following rule doesnt work

redirectMatch 301 ^/home/\?(.*)$ http://www.site.com/

Any help would be appreciated. Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱桃奶球 2024-12-03 22:20:58

不幸的是,RedirectMatch 指令不适用于查询字符串——仅适用于 URL 的路径部分。您必须使用 mod_rewrite 来实现:

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} =page=123
RewriteRule ^home$ http://www.site.com/? [R=301,L]
  1. 将其放在网站根文件夹中的 .htaccess 中。如果放置在其他地方,可能需要进行一些调整。

  2. 它只会重定向对 /home?page=123 的请求。所有其他请求(例如 /home?page=123&extra=hello)都将被忽略。

Unfortunately RedirectMatch directive does not work with query string -- only with path part of the URL. You have to use mod_rewrite for that:

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} =page=123
RewriteRule ^home$ http://www.site.com/? [R=301,L]
  1. Place it in .htaccess in website root folder. If placed elsewhere some tweaking may be required.

  2. It will ONLY redirect request for /home?page=123. All other requests (e.g. /home?page=123&extra=hello) will be ignored.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文