.htaccess 从旧根域重定向到新的特定子目录域

.htaccess redirect from old root domain to new specific sub-dir domain

RewriteEngine on  
RewriteRule ^(.*)$ http://www.NEWfoobar.com/ [R=301,L]  

我在 .htaccess 中有来自 的这行代码,目前它通过将 www.OLDfoobar.com 迁移到 www.NEWfoobar.com 及其所有子目录结构正常工作(预期行为,一切正常)

现在,如何添加捕获 www.OLDfoobar.com 的附加规则以重定向到 www.NEWfoobar.com 中的一个特定页面? 例如`www.NEWfoobar.com/welcomeToNewDomain

[L] 旗帜让我着迷。顺便说一句,我不太确定 </code> 的用途。这不可能是 <code>RewriteRule 模式 的正则表达式标志,是吗?

已接受的答案

RewriteEngine on  
RewriteRule ^/?$ http://www.NEWfoobar.com/some/sub/directory [R=301,L]  
RewriteRule ^(.*)$ http://www.NEWfoobar.com/ [R=301,L]   

你需要

RewriteEngine on  
RewriteRule ^(.*)$ http://www.NEWfoobar.com/welcomeToNewDomain [R=301,L]  

</code>表示使用第一个捕获组,即左边括号之间的值。</p> <p>选项中的 L 表示如果匹配适用则停止处理重写规则(即这是最后一条规则)。</p> <p><code>^(.*)$表示:

`^` match beginning of string
`(.*)` match zero or more characters and store in capture group 1
`$` match end of string

如果我没理解,你只想重定向根请求,同时保留旧捕获,你需要添加一个新规则 before 现有的读取

RewriteRule ^/?$ https://www.NEWfoobar.com/welcomeToNewDomain [R=301,L]

这将匹配空路径或仅匹配 /