繁体   English   中英

htaccess与wordpress转发冲突

[英]htaccess forward conflict with wordpress

我希望将旧站点的目录(除了少数几个目录之外)全部转发到新域,以便客户端仍然可以访问旧站点数据(即wordpress站点的后端区域)以及维护对特定站点的访问目录,因为它包含的内容。

我设置的规则肯定可以单独使用,但是与wordpress的规则结合使用时似乎会遇到问题-我对htaccess的东西不太满意,所以我希望它是显而易见的和愚蠢的。

这是完整的htaccess(略作编辑):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

<IfModule mod_rewrite.c>
    RewriteRule !^(wp-admin(/.*)?|wp-login(/.*)?|shop2(/.*)?)$ http://newdomain.tld [R=301,L]
</IfModule>

/ shop2 /目录完全按预期工作,即,到/ shop2 /的所有流量都保留在此域上,并且不会转发。

但是我在wp-admin和wp-login上都有一些奇怪的行为。 wp-admin会将用户转发到新域,而忽略了新规则,但是它确实包含“ redirect_to” URL参数,就像在实际wp-admin页面上一样。 wp-login无法转发,但会加载未样式化的404页面。

我假设规则中有冲突吗?

有这样的规则:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule !^((wp-admin|shop2)(/.*)?|wp-login\.php)$ http://newdomain.tld/ [R=301,L,NC]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

通常,在内部WP规则之前保留重定向规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM