解决wordpress配置固定链接出现404错误

两种方法解决

1.选择自定义结构在想要的固定链接格式前加/index.php

这样虽然到达效果但是前面会加多个index.php如果想不要的话试试第二种

2.我用的是nginx

在宝塔中选网站再进入设置选择伪静态

增加

location /blog/ {  
    if (!-e $request_filename) {  
        rewrite (.*) /blog/index.php;  
    }  
} 

其中blog是你在public中复制wordpress的文件名

我是在laravel中添加wordpress的即wordpress安装在网站二级目录,如果是wordpress安装在网站根目录则添加


location / {  
    if (!-e $request_filename) {  
        rewrite (.*) /index.php;  
    }  
} 

 

 

### WordPress 安装过程中出现 404 错误的原因及解决方案 #### 1. 默认首页未正确设置 当 WordPress 部署在 Apache 或其他 Web 服务器上时,默认首页可能未被正确定义。如果服务器未能识别 `index.php` 文件作为默认主页,则可能会返回 404 页面错误[^2]。 解决方法: 编辑 Apache 的配置文件(通常是 `/etc/httpd/conf/httpd.conf` 或虚拟主机配置文件),确保以下指令存在并启用: ```apache DirectoryIndex index.php index.html ``` 重启 Apache 服务以应用更改: ```bash sudo systemctl restart httpd ``` --- #### 2. .htaccess 文件缺失或权限不足 `.htaccess` 是用于定义 URL 重写规则的关键文件。如果该文件不存在或者其内容不正确,可能导致访问文章或分类目录时出现 404 错误[^1]。 解决方法: - 确认 `.htaccess` 是否存在于站点根目录下。 - 如果不存在,可以通过 WordPress 后台重新生成:导航至 **设置 -> 固定链接** 并保存一次即可自动生成新的 `.htaccess` 文件。 - 检查 `.htaccess` 权限是否允许读取和修改操作。可以尝试运行以下命令调整权限: ```bash chmod 644 /path/to/your/.htaccess ``` 以下是典型的 `.htaccess` 内容示例: ```apache <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> ``` --- #### 3. Mod_Rewrite 功能未开启 Apache 中的 `mod_rewrite` 模块负责处理 URL 重写的逻辑。如果没有启用此模块,即使 `.htaccess` 存在也无法正常工作。 解决方法: 确认 `mod_rewrite` 已加载到 Apache 中。执行以下命令检查状态: ```bash apachectl -M | grep rewrite ``` 如果没有输出结果,表示模块尚未激活。通过以下命令启用它: ```bash sudo a2enmod rewrite sudo systemctl restart apache2 ``` --- #### 4. 数据库连接异常引发间接影响 虽然数据库连接失败通常表现为 “WordPress 数据库连接错误”,但在某些情况下也可能导致前端页面显示为 404 错误[^3]。 排查步骤: - 登录 MySQL 控制台验证数据库可用性。 - 使用工具如 phpMyAdmin 查看是否存在表损坏的情况。如果有损坏记录,可按照以下方式修复: ```bash myisamchk -r wp_options --max-record-length=878052 ``` --- #### 5. PHP 版本兼容性问题 部分旧版本的 PHP 可能与最新版 WordPress 不完全兼容,从而引起各种错误表现形式,包括但不限于 404 报错。 建议升级 PHP 至推荐版本(目前至少应为 PHP 7.4)。可通过以下命令查询当前环境下的 PHP 版本号以及更新路径: ```bash php -v yum install php74-php-fpm php74-php-mysqlnd php74-php-gd php74-php-json php74-php-xml php74-php-mbstring ``` 完成安装后记得再次启动相关服务使改动生效: ```bash systemctl start php74-php-fpm systemctl enable php74-php-fpm ``` --- ### 总结 上述提到的各种可能性均需逐一排除才能最终定位具体成因所在。一般而言优先考虑的是服务器端关于默认文档设定、URL 转向机制支持状况等方面因素;其次是针对后台数据存储层面上潜在隐患予以关注处置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值