子目录安装中的 Wordpress 403 禁止错误

Wordpress 403 Forbidden error in subdir installation

我在 public_html 子目录中安装了 Wordpress,比方说 /wordpress/。 在public_html root / 中没有索引文件。 在 wordpress 管理页面中,我设置了以下内容:

WordPress Address (URL): https://example.org/wordpress/
Site Address (URL): https://example.org/

在 public_html 根目录(不在子目录 /wordpress/ 中)生成 .htaccess

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

这是不正确的:它没有重定向到正确的子目录,所以我将其修改为:

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

现在它似乎可以工作了:当我转到 https://example.org 时,我看到 wordpress 网站的链接中没有 /wordpress/

人类有一个看不见的问题:如果我检查 https header 响应 我得到一个 403 Forbidden 错误 可能与缺少根目录中的索引文件。

这会阻止搜索引擎蜘蛛。

如有任何想法,我们将不胜感激, 先感谢您, 吉尔

我认为你的情况与此相同issue

您可以从 wordpress 关注 this methode

已解决

按照@Nugie的建议,解决方案是:

  1. index.php/wordpress/ 复制到 public_html root
  2. 修改root中的index.php如下:

来自:

require __DIR__ . '/wp-blog-header.php';

至:

require __DIR__ . '/wordpress/wp-blog-header.php';

现在 403 Forbidden 错误消失了。

谢谢@Nugie