RewriteEngine on
RewriteRule ^(.*)$ http://www.NEWfoobar.com/$1 [R=301,L]
我在.htaccess
内部有https://stackoverflow.com/a/7578810这段代码,目前正在将www.OLDfoobar.com
迁移到www.NEWfoobar.com
并且其所有子目录结构都很好(打算行为,一切都好)
现在,如何添加捕获www.OLDfoobar.com
的其他规则以重定向到www.NEWfoobar.com
中的一个特定网页? 比如说'www.NEWfoobar.com/welcomeToNewDomain
[L]
标志是什么让我感动。顺便说一下,我对$1
的用途不太确定。这可能不是RewriteRule
模式的正则表达式标志,是吗?
接受回答
RewriteEngine on
RewriteRule ^/?$ http://www.NEWfoobar.com/some/sub/directory [R=301,L]
RewriteRule ^(.*)$ http://www.NEWfoobar.com/$1 [R=301,L]
答案 0 :(得分:1)
你需要
RewriteEngine on
RewriteRule ^(.*)$ http://www.NEWfoobar.com/welcomeToNewDomain [R=301,L]
$1
意味着使用第一个捕获组,它是左侧括号中的值。
选项中的L表示如果匹配适用,则停止处理重写规则(即这是最后一条规则)。
^(.*)$
表示:
`^` match beginning of string
`(.*)` match zero or more characters and store in capture group 1
`$` match end of string
如果我错过了解你只想重新定位根请求,同时保留旧的捕获,则需要在之前添加新规则 现有的
RewriteRule ^/?$ https://www.NEWfoobar.com/welcomeToNewDomain [R=301,L]
这将匹配空路径或/