【发布时间】:2020-10-01 17:04:33
【问题描述】:
我正在尝试重定向:
从example.com/shop 到example.com#shop
但前提是 url 是这样的,没有更多的子路径, 否则如果是这样的:
example.com/shop/mypage
我想保持原样,所以example.com/shop/mypage
这可以通过 htaccess 301 重定向实现吗?
到目前为止我没有成功的尝试是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^shop #shop [L,R=301,NC,NE]
RewriteRule ^shop/(.*)$ /shop/$1 [R=301,NC,L]
</IfModule>
【问题讨论】:
-
^shop匹配任何 以shop开头的 URL 路径 - 如果您希望此模式匹配,您需要在末尾使用$锚定此模式仅限shop。并且需要删除第二条规则 - 您想保留这些 URL,因此从一开始就重写它们是没有意义的。在这里你甚至会创建一个无限循环,因为你会再次重定向 fromshop/mypagetoshop/mypage。 -
@CBroe 它有效!我也理解你的解释,非常感谢
-
@CBroe 请在答案框中填写 answers - cmets 仅用于澄清问题。
标签: .htaccess redirect http-status-code-301