由于根 URL 没有默认索引页,默认 WordPress .htaccess 重写会导致加载默认服务器页面

由于根 URL 没有默认索引页,默认 WordPress .htaccess 重写会导致加载默认服务器页面

我真的需要一些帮助。通过测试,我知道这是一个 WordPress 问题。如果我允许 .htaccess 在我的 Wordpress 网站上处理重写,请添加AllowOverride FileInfo到 https conf 文件允许 .htaccess 处理我的 Wordpress 网站上的重写,我的 WordPress 网站将全部重定向到 AlmaLinux 默认页面,因为根 URL 没有默认索引页。如果我不允许它处理 .htaccess,它可以工作,但我需要使用 .htaccess 这里发生了什么?

这是我的 WordPress 网站.htaccess文件,如果我取消注释,它将被处理AllowOverride FileInfo,然后它会通过将所有内容重定向到 AlmaLinux 默认页面来破坏 WordPress。这是由 WordPress 本身创建的

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

非常感谢那些能帮助我摆脱困境的人。

答案1

已修复 我应该首先查看 Apache 错误日志。我刚刚查看后发现:

[Wed Mar 29 23:17:59.234743 2023] [rewrite:error] [pid 133333:tid 133444] [client 81.11.11.11:53583] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /var/www/www.mysite.com/

搜索错误后我们发现:如果你的服务器关闭了 FollowSymLinks 和 SymLinksIfOwnerMatch,那么重写规则将停止工作

就那么简单!

因此我检查了 Apache conf 文件中我的所有站点,并将以下内容更改 Options None 为: Options SymLinksIfOwnerMatch

固定的

相关内容