htaccess转发冲突与wordpress
问题描述:
我期待转发一个旧网站的几个目录到一个新的域,以便客户仍然可以访问旧网站的数据(即后端区域的WordPress的网站)以及由于其内容而保持对特定目录的访问。htaccess转发冲突与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将用户转发到新域,忽略新规则,但是它包含了像实际wp-admin页面上那样的'redirect_to'URL参数。 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规则重定向规则。
这是合乎逻辑的 - 我会试一试! – 2014-09-01 10:27:05
似乎没有什么区别于我能说的。我确定要清除所有的网站数据(因为我知道htaccess的变化可能因缓存等原因难以测试)。 – 2014-09-01 10:32:04
你在浏览器中输入了什么URL,但没有重定向到http://newdomain.tld/ '?并且'/ wp-admin /'是否也有.htaccess? – anubhava 2014-09-01 10:33:49