首页 > 解决方案 > 当url具有相同的基础时如何编写301重定向规则

问题描述

我在 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 的第一部分是相同的,正确的语法是什么?提前非常感谢。

标签: apache.htaccessmod-rewriteurl-rewritinghttp-status-code-301

解决方案


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

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

推荐阅读