我目前正面临wordpress多站点/永久链接/重写规则问题。 我的wordpress网站使用多站点。我已经获得2014年网站链接到" exemple.fr"以及2015年的第二个网站" exemple.fr/2015 /"。 正如您可能猜到的,我使用多站点的子文件夹配置。
问题出现在第二个网站(2015)上,除了家庭以外,每个页面都返回404错误。第一个工作为例外。 我已经尝试过了:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress
有什么建议吗?
答案 0 :(得分:2)
最后让它在经过几个小时的尝试后才能运作。 问题来自与插件“Polylang”(https://wordpress.org/plugins/polylang/)的冲突。这个插件安装在网站上,甚至没有使用或配置。
当在网站上激活插件并且任何人保存永久链接配置时,它破坏了配置(在数据库中,wp_option rewrite_rules缺少所有模式前面的“blog /”)。 一旦我们禁用插件并再次保存永久链接配置,它就会再次运行。我认为没有人保存这个配置,因为插件安装在网站上,上周我的客户可能会尝试更改永久链接配置并偶然发现该问题。
在调试特定的偷偷摸摸的bug时不要忘记尝试禁用所有插件(而不是像我做的那样在调试后一天可能会更好),这是我的建议!