通过使用 Nginx URL 重写模块来修复WordPress 404 和 403 错误

41次阅读
2024年08月16日 15:00:56

共计 1573 个字符,预计需要花费 4 分钟才能阅读完成。

当使用 Nginx 为 WordPress 设置 URL 重写时,可能会遇到恼人的 404(未找到)或 403(禁止)错误。这些错误会破坏网站的访问,让用户望而却步。本文将深入探讨这些错误的潜在原因并提供逐步指南来解决它们,恢复网站的顺畅运行。

检查 Nginx 配置

第一步是检查 Nginx 配置文件,通常位于 /etc/nginx/sites-enabled/default。重点关注以下部分:

location /website/blog {
            try_files $uri $uri/ /website/blog/index.php;
    }

    location ~ \.php$ {
        root           /var/www/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        fastcgi_split_path_info ^(/website/blog)(/.*)$;
        include        fastcgi_params;
        error_page  404 /404.html;
    }

确保以下内容正确:

将 /var/www/html 替换为 WordPress 的根目录。
确保 FastCGI 进程在 127.0.0.1:9000 上运行。

检查 WordPress 设置

接下来,让我们检查 WordPress 的设置。

永久链接: 在 WordPress 仪表盘中导航到“设置”>“永久链接”。选择“文章名称”或“自定义结构”选项,并确保 URL 结构与希望重写为的结构相匹配。
.htaccess 文件: 该文件应位于 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>

检查服务器权限

Nginx 用户需要对 WordPress 根目录和 .htaccess 文件具有读取和执行权限。

重启 Nginx

完成所有更改后,重启 Nginx 以应用它们:

sudo systemctl restart nginx

疑难解答其它错误

如果仍然遇到错误,请尝试以下操作:

检查 Nginx 错误日志: (/var/log/nginx/error.log)获取更多详细信息。
禁用插件: 禁用 WordPress 中的所有插件以排除冲突。
检查防火墙: 确保防火墙或安全软件没有阻止对 WordPress 网站的访问。

结论

通过遵循这些步骤,可以解决 WordPress 的 Nginx URL 重写问题并修复 404 和 403 错误。确保仔细检查配置,并在需要时寻求帮助,以保持 WordPress 网站平稳运行。

常见问题解答

为什么我会收到 404 错误?

Nginx 配置可能不正确,URL 结构与 WordPress 永久链接设置不匹配。

为什么我会收到 403 错误?

Nginx 用户可能没有对 WordPress 根目录和 .htaccess 文件的读取和执行权限。

如何检查 FastCGI 进程是否正在运行?

对于 PHP 7.3,运行 sudo systemctl status php7.3-fpm。对于 PHP 8.1,运行 sudo systemctl status php8.1-fpm。

为什么 .htaccess 文件很重要?

它包含 URL 重写规则,用于将用户请求重定向到 WordPress 的 index.php 文件。

重启 Nginx 后,我应该检查什么?

检查 WordPress 网站是否可以访问,并且 404 和 403 错误已消失。

正文完
 0
鹿泽
版权声明:本站原创文章,本文由 鹿泽 于 2024年8月16日 15:00:56 发表,共计 1573 字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
最新文章
WordPress 分类和标签 SEO 策略和实施方法

WordPress 分类和标签 SEO 策略和实施方法

分类和标签优化是SEO优化中绕不开的话题,如果优化得比较好,分类和标签可以为我们的网站带来相当多的搜索引擎流量...
WordPress SEO 优化之标签优化技巧

WordPress SEO 优化之标签优化技巧

今天我们来说一下 WordPress 文章标签优化的事情。在很多 WordPress SEO 优化教程中,都会...
WordPress SEO 之站外链接建设方法和技巧

WordPress SEO 之站外链接建设方法和技巧

站外链接(简称外链)是 WordPress SEO 过程中必不可少的一项工作,怎么做外链,从哪些方面着手,很多...
一次性删除WordPress文章所有评论的方法

一次性删除WordPress文章所有评论的方法

不少小伙伴在建设WordPress站点的时候都会开启文章评论等,作为网站良好的一个互动。但是这也给了很多垃圾评...
WordPress前台显示登录用户注册时间的方法

WordPress前台显示登录用户注册时间的方法

正常WordPress前台和后台都不会显示用户的注册时间,有时需要在前台显示登录用户的注册时间,可以用下面的代...