当 url 具有相同的基础时如何编写 301 重定向规则

how to write 301 redirect rule when urls have the same base

我在 ht 访问中编写 301 重定向规则时遇到问题。我找不到正确的语法。

我的问题是两条规则

Redirect 301 /lessons/                  https://example.com/lessons/piano/
Redirect 301 /lessons/classical/violin/  https://example.com/lessons/vilolin/

他们全部重定向到

https://example.com/lessons/piano/

我猜是因为 url 的第一部分是一样的,正确的语法是什么? 非常感谢。

尝试使用 RedirectMatch 而不是 Redirect 在这种情况下使用正则表达式来匹配 URL。请确保在测试您的 URL 之前清除您的浏览器缓存。

RewriteEngine ON
RedirectMatch 301 /lessons/?$            https://example.com/lessons/piano/
RedirectMatch 301 /lessons/classical/violin/?$  https://example.com/lessons/vilolin/