Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将主站点重定向到多站点Wordpress中的子站点_Wordpress_Apache_.htaccess_Redirect - Fatal编程技术网

将主站点重定向到多站点Wordpress中的子站点

将主站点重定向到多站点Wordpress中的子站点,wordpress,apache,.htaccess,redirect,Wordpress,Apache,.htaccess,Redirect,我有多站点wordpress,我想将主站点重定向到其中一个子站点,但重定向到.htacecss中会出错。有没有办法将主站点重定向到其子站点。这看起来不可能,但我不是wordpress专家,所以只是验证一下 重定向应该是这样的 重定向301 或者如果有其他方法可以做到这一点?重定向指令不将主机名作为URI路径的一部分(在您的例子中是第二个参数)。您需要使用mod_rewrite将其与%{HTTP\u HOST}变量匹配: RewriteEngine On RewriteCond %{HTTP_HO

我有多站点wordpress,我想将主站点重定向到其中一个子站点,但重定向到.htacecss中会出错。有没有办法将主站点重定向到其子站点。这看起来不可能,但我不是wordpress专家,所以只是验证一下

重定向应该是这样的

重定向301


或者如果有其他方法可以做到这一点?

重定向指令不将主机名作为URI路径的一部分(在您的例子中是第二个参数)。您需要使用mod_rewrite将其与
%{HTTP\u HOST}
变量匹配:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/main-site/sub-site
RewriteRule ^/?main-site(.*)$ /main-site/sub-site$1 [L,R=301]

您需要将这些规则置于htaccess文件中已有的任何规则之上。

谢谢您的回答,重定向正在工作,但在重定向之后,它会将index.php放在URL的末尾,这会导致错误。index.php不应位于URL的末尾。重定向后,URL将显示。www.example.com/main-site/sub-site/index.php那么我如何重写规则以便index.php不应出现在url中?应该是www.example.com/main=site/sub-site/@Toqeer您是否将这些规则置于htaccess文件中已有的任何规则之上?特别是那些做index.php路由的?我把它放在apache配置文件中。让我试着把它添加到.htaccess中,我把它放在apache中是因为已经定义了规则。RewriteBase/main site/RewriteRule^index\.php$-[L]上的.htaccess文件RewriteEngine中有规则,所以我应该删除它并放在上面定义的规则中吗?@toqer我只提到htaccess,因为你已经用它标记了你的问题。如果这是在您的服务器配置中,那么它不应该附加index.php,除非您所点击的URL正在这样做,或者有其他冲突的规则并附加index.php