Regex .htaccess将目录1重定向到目录2,但不匹配目录2

Regex .htaccess将目录1重定向到目录2,但不匹配目录2,regex,.htaccess,Regex,.htaccess,我遇到的情况是,我试图将所有对site.com/news的访问重定向到site.com/dir/news。无论我做什么,如果不匹配site.com/dir/news,我似乎无法匹配site.com/news,这会导致无限重定向循环,直到浏览器超时 这是我目前的密码。有人看到我遗漏了什么吗 RewriteRule ^(.*)news $1dir/news [R=301,L] 重写规则^(.*)新闻$1dir/news[R=301,L] 非常感谢 哇,这很有魅力。非常感谢你!我不明白它是如何工作的,

我遇到的情况是,我试图将所有对site.com/news的访问重定向到site.com/dir/news。无论我做什么,如果不匹配site.com/dir/news,我似乎无法匹配site.com/news,这会导致无限重定向循环,直到浏览器超时

这是我目前的密码。有人看到我遗漏了什么吗

RewriteRule ^(.*)news $1dir/news [R=301,L] 重写规则^(.*)新闻$1dir/news[R=301,L]
非常感谢

哇,这很有魅力。非常感谢你!我不明白它是如何工作的,所以为了让事情在将来变得更容易,你能解释一下代码中使它工作的关键区别吗?很高兴听到它工作。不同之处在于,您的正则表达式捕获了任何包含单词
news
的请求,而我的正则表达式只捕获以
news
开头的请求(符号
^
表示字符串的开头)。第二,你把发生在
news
之前的事情放在
dir/news
之前,而我把它放在后面(
$1
)。
RewriteRule ^news(.*) dir/news$1 [R=301,L,QSA,NC]