http://mysite.com/level-1/level-2/level-3/
我想重定向到
http://mysite.com/level-1/level-2/
“level-1”和“level-2”可以是用户输入的任何内容......(不是这些确切的单词)
你可以指导我一个教程或给我一些指示吗?
非常感谢!!
答案 0 :(得分:3)
你只想扔掉第二次斜线之后的东西。这是一个简单的规则:
RewriteRule ^(.*?/.*?/).+$ $1
然后调查你是否想要[L,QSA]这样的东西。你可能会也可能不会。
答案 1 :(得分:3)
根据您的评论(从第3级到第2级文件夹,完全使用301永久重定向):
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+/[^/]+/)[^/]+/$ http://www.example.com/$1 [QSA,R=301,L]
此规则会将example.com/hello/pink/kitten/
重定向到example.com/hello/pink/
如果网址结构不同,则会发生“无重定向”:
example.com/hello/pink/kitten
)example.com/hello/pink/kitten/family/
)此规则需要放在网站根文件夹中的 .htaccess 中。如果放在其他地方(例如Apache配置文件,例如在<VirtualHost>
内),规则需要小幅调整。