【问题标题】:rewrite all pages /en/XXX to /en将所有页面 /en/XXX 重写为 /en
【发布时间】:2021-03-22 01:20:35
【问题描述】:

我已经有一段时间没有绞尽脑汁进行 htaccess 重写了。 我想将所有页面从 example.com/en/XXX 重定向到 example.com/en。 我正在执行重定向循环或错误 500。

是否可以帮我找到正确的公式?

我试过 RewriteRule ^en/(.+)$ /en/ L,QSA 还有这个 RewriteRule ^/en\/.*$ http://example.com/en/$1 [R=permanent,L]

你还知道学习htaccess和重写的好链接吗?

提前感谢您的帮助

【问题讨论】:

  • RewriteRule ^en/.+$ en/ [L,QSA] 应该可以正常工作

标签: linux apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

您需要设置一个条件来停止循环,请您尝试跟随一次,仅基于您显示的示例。

RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/en/.*/?$ [NC] [L]
RewriteRule ^(en)/.*$ http://example.com/$1 [NC,L]

Merci RaVinder 多多支持!

【讨论】:

  • 非常感谢。它适用于 **example.com/en/XXX ** 中的链接,但不适用于 example.com/en/XXX.(html/php) 中的链接
  • @Pipinlink,请给出一个在这里不起作用的 url 示例,然后我将编辑规则。
  • @Pipinlink,好的,我现在已经更改了规则,请您现在检查一下,如果这对您有帮助,请告诉我?
  • 你是个天才!非常感谢。你知道学习重写的好教程吗? ps:最后的Rewrite少了一个R。
  • @Pipinlink,您可以通过传奇用户 anubhava 的个人资料,SO 中的 White 先生,他们是 htaccess 的大师,我只知道 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-27
  • 1970-01-01
  • 1970-01-01
  • 2020-07-02
  • 2021-08-25
  • 2019-11-07
  • 1970-01-01
相关资源
最近更新 更多