可以将 htaccess 中针对 301 的多个 RewriteConds 中的 rewriteRule 减少为一条规则吗?

可以将 htaccess 中针对 301 的多个 RewriteConds 中的 rewriteRule 减少为一条规则吗?

我正在将旧网站进行 301 重定向到单个网站,而不必多次添加相同的 RewriteRule,有没有办法说只写一次?那样我只需要添加一次 rewriteCond 吗?

我当前的代码

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^Oldsite.local [NC]
RewriteRule ^(.*)$ newSite.local%2 [L,R=301]

RewriteCond %{HTTP_HOST} ^Oldsite2.local [NC]
RewriteRule ^(.*)$ newSite.local%2 [L,R=301]

我试过:RewriteEngine

RewriteCond %{HTTP_HOST} ^Oldsite.local [NC]   
RewriteCond %{HTTP_HOST} ^Oldsite2.local [NC]
RewriteRule ^(.*)$ newSite.local%2 [L,R=301]

但这似乎不起作用

答案1

尝试这个:

RewriteCond %{HTTP_HOST} ^Oldsite.local [NC, OR]   
RewriteCond %{HTTP_HOST} ^Oldsite2.local [NC]
RewriteRule ^(.*)$ newSite.local%2 [L,R=301]

这会将隐含的逻辑与更改RewriteCond为逻辑或。

答案2

RewriteCond 通常是“AND”,但是您可以通过OR在末尾添加选项将它们更改为“OR”。

更多信息

相关内容