.htaccess 重写以在存在其他URL部分时删除URL的一部分

.htaccess 重写以在存在其他URL部分时删除URL的一部分,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我有许多传统URL,其目录结构如下: 我想从URL中删除“dir1”,在任何情况下,除非“dir1”是由其自身请求的,例如 这是可能的mod_重写还是我的事情过于复杂?我是否最好重命名“dir1”并创建一个附加规则来将请求重定向到该特定的控制器 我试过: RewriteRule ^dir1/?(.*) /$1 [R=301,L] 但这会重写dir1的所有实例。将捕获组改为使用+。这样一来,在dir1之后必须有一些内容: RewriteRule ^dir1/(.+)$ /$1 [R=301,

我有许多传统URL,其目录结构如下:

我想从URL中删除“dir1”,在任何情况下,除非“dir1”是由其自身请求的,例如

这是可能的mod_重写还是我的事情过于复杂?我是否最好重命名“dir1”并创建一个附加规则来将请求重定向到该特定的控制器

我试过:

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

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

将捕获组改为使用
+
。这样一来,在
dir1
之后必须有一些内容:

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

谢谢,乔恩,这正是我想要的。很高兴知道我的尝试是正确的!