0

我目前面临一个 wordpress 多站点/永久链接/重写规则问题。我的 wordpress 网站使用多站点。我有 2014 年网站链接到“exemple.fr”,2015 年第二个网站链接到“exemple.fr/2015/”。正如您可能猜到的那样,我正在为多站点使用子文件夹配置。

该问题出现在第二个网站 (2015) 上,该网站在除主页之外的每个页面上都返回 404 错误。第一个例外。我已经尝试过:

  • mod_rewrite 已启用
  • 我的虚拟主机文件有指令 AllowOverride All
  • 这是我的 .htaccess 文件,它是带有子目录的多站点的默认 wordpress 文件:
# 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
  • 如果我在 2015 年网站上将永久链接设置为“默认”,但我的链接不像我想要的那样,问题就会消失。

有什么建议么 ?

4

1 回答 1

3

经过数小时的尝试,终于让它工作了。问题来自与插件“Polylang”(https://wordpress.org/plugins/polylang/)的冲突。这个插件安装在网站上,甚至没有使用或配置。

当插件在网站上激活并且任何人保存永久链接配置时,它会破坏配置(在数据库中 wp_option rewrite_rules 缺少所有模式前面的“blog/”)。一旦我们禁用插件并再次保存永久链接配置,它就会再次工作。我认为自从插件安装在网站上以来没有人保存此配置,上周我的客户可能尝试更改永久链接配置并偶然发现该问题。

不要忘记在调试特定的鬼鬼祟祟的错误时尝试禁用所有插件(而不是像我所做的那样在调试 1 天后可能会更好),这是我的建议!

于 2015-05-06T07:45:13.757 回答