当存在其他URL部分时,重写以删除部分URL

时间:2013-11-27 23:03:13

标签: .htaccess mod-rewrite url-rewriting

我有许多遗留网址,其目录结构为:

http://domain.com/dir1/dir2/dir3/

我想从网址中删除“dir1”,除非是自己请求“dir1”,例如作为http://domain.com/dir1/

这可能与mod_rewrite或我过度复杂吗?我是否会更好地重命名“dir1”并创建一个额外的规则来将请求重定向到该特定的导演?

我试过了:

RewriteRule ^dir1/?(.*) /$1 [R=301,L] 

但这会重写dir1的所有实例。

1 个答案:

答案 0 :(得分:1)

将您的捕获组更改为使用.+。那样成为dir1之后的东西:

RewriteRule ^dir1/(.+)$ /$1 [R=301,L]