301 重定向/重写给出循环错误

发布于 2024-12-13 20:48:37 字数 332 浏览 0 评论 0原文

我使用以下代码获得重定向循环。我该如何修复它?

  • 第一部分将 /links.php 重定向到 /linked
  • 第二部分将 /linked 重写到 /links.php

RewriteBase /domain.com

RewriteRule ^links\.php$ linked? [NS,R=301,L]
RewriteRule ^linked$ links.php?redirect=no [NS]

两种方式都有效,所以我接受第一个发布的方式。再次感谢您!

I'm getting a redirect loop with the following code. How can I fix it?

  • first part redirects /links.php to /linked
  • second part rewrites /linked to /links.php

RewriteBase /domain.com

RewriteRule ^links\.php$ linked? [NS,R=301,L]
RewriteRule ^linked$ links.php?redirect=no [NS]

Both ways are working so I'm accepting the first one to post. Thank you again!

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

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

发布评论

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

评论(2

妳是的陽光 2024-12-20 20:48:37

您需要检查在第二条规则中添加的查询字符串,因此在第一条规则前面添加一个 RewriteCond:

RewriteCond %{QUERY_STRING} !redirect=no

You need to check for the query string that you added in the second rule, so add a RewriteCond in front of the first rule:

RewriteCond %{QUERY_STRING} !redirect=no
你在看孤独的风景 2024-12-20 20:48:37

您可以匹配原始网址,而不是使用重写条件(可能已经)重写的网址:

RewriteCond %{THE_REQUEST} links\.php
RewriteRule ^links\.php$ linked? [R=301,L]
RewriteRule ^linked$ links.php [L]

You could match the original url, instead of the (possibly already) rewritten one using a rewrite-condition:

RewriteCond %{THE_REQUEST} links\.php
RewriteRule ^links\.php$ linked? [R=301,L]
RewriteRule ^linked$ links.php [L]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文