我已经非常努力地让这个工作起来了,但是在拔掉我的头发并尝试了许多重新直接的规则以及我已经停下来之后,请帮助谢谢!
基本上,我尝试重定向以下网址: http://example.com/sub1致http://example.com/newsub1
(注意:我必须从下面的链接中取出' http://,因为Stackoverflow不会让我发布这么多链接!!)
但是当/ sub1的子目录被请求时,我需要这个仍然可以访问而不是更改URL - 所以我试图保留这个:
example.com/sub1/sub2
我的重写规则不断重写example.com/newsub1/sub2
我遇到的问题是,在上面的例子中,/ sub2需要是一个通配符 - 它不是一个固定的URL而是动态的,我需要它的范围是什么。
总结如下:
1)example.com/sub1 - > REDIRECT - > example.com/newsub1
2)example.com/sub1/{could-be-anything} - >没有重定向/重写 - > example.com/sub1/{could-be-anything}
答案 0 :(得分:1)
你能看出这是否符合你的要求吗?我在这里测试了它并且它有效,但不确定你的文件结构的其余部分是关于尾部斜杠和默认文件的,也不确定是否应该重定向http://example.com/sub1/helloworld.php之类的东西:
RewriteEngine On
RedirectMatch 301 ^/sub1/?$ /newsub1$1
如果需要可以调整,让我知道。
编辑:这种方法最后会留下一个令人讨厌的 - 尽管是无害的 - 双打。考虑一下,我认为这更好:
RewriteEngine On
RewriteRule folder1/?$ /folder2 [R=301,L]