我有一个带有主域的Wordpress多站点,用于管理站点管理,然后是数百个其他站点,每个站点都有自己独特的域(不是主站点的子文件夹或子域)。
我需要将每个网站重定向到我们主网站上的相应目标网页。我正在以编程方式生成这些重定向规则,因为需要设置数百个重定向。然后,我将这些重定向规则添加到文档根目录下的一个主.htaccess文件中。
这是我到目前为止所做的:
RewriteCond %{HTTP_HOST} ^(.*)?firstsite.com [NC]
Redirect 301 / https://newsite.com/1234/
RewriteCond %{HTTP_HOST} ^(.*)?secondsite.com [NC]
Redirect 301 / https://newsite.com/5678/
我所看到的是,它正在将来自任何网站的所有流量重定向到第一个"重定向301"地址(https://newsite.com/1234/)。大概是因为我正在做"重定向301 /"这是重定向整个Wordpress多站点的文档根目录而不是" RewriteCond"的根目录。指定域名。
如何基于所访问的域设置基本上的条件重定向?
我应该提一下,我没有在服务器上安装Nginx。
答案 0 :(得分:1)
RewriteCond和RewriteRule一起工作。因此Redirect 301独立于RewriteCond运行。这将有效:
RewriteCond %{HTTP_HOST} ^(.*)?firstsite.com [NC]
RewriteRule ^(.*)$ https://newsite.com/1234/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*)?secondsite.com [NC]
RewriteRule ^(.*)$ https://newsite.com/5678/$1 [R=301,L]
另外,请务必将此放在.htaccess重写规则的最顶层。在该行的下方说:
RewriteEngine On