WordPress建站固定链接问题

0.前言

环境:

  • Apache 2.4.29
  • Ubuntu Server 18.04.01
  • MySQL 5.7.29
  • PHP 7.2.24

之前在LAMP环境下进行网站搭建学习,使用WordPress作为网站后台工具。可是发现WordPress后台设置下的固定链接在修改之后会一直出现404 Not Found页面。

1.解决

在网上找了很久,发现根本原因是需要开启原因是Ubuntu下Apache2 的mod_rewrite模块默认是不加载的。我们需要手动开启。有两种方法可以开启:

1)

在终端中执行sudo a2enmod rewrite指令后,即启用了 mod_rewrite 模块, Apache2服务器的模块启用方法就和虚拟主机的同IP多域名的启用方法一样, 所有的模块都在/etc/mods-available/ 文件夹下, a2enmod rewrite 这个命令其实就是把该模块名链接到/etc/apache2/mods-enabled/文件夹下。

网查了一下资料,Apaceh2 多了一组 a2enmod, a2dismod指令,用于启用和禁用Apache的模块。a2enmod用于在Apache启用指定的模块,它实际上做的是在/etc/apache2/mods-enabled目录下创建模块文件的符号链接。相反a2dismo则是通过删除符号链接而达到禁用指定模块的功能。当然,启用已启用的模块或禁用已禁用的模块是不会报错的。^^

这里有必要说明一下:

/etc/apache2/mods-available 放apache可用的模块文件

/etc/apache2/mods-enabled 放apache已启用的模块文件的链接

弄明白了,去查看一下/etc/apache2/mods-enabled目录,果然有新增了一条rewrite.load的链接。
如图(命令: ls -la /etc/apache2/mods-enabled/):
文件链接

2)

第二种方法: 也可以通过将 /etc/apache2/mods-available/rewrite.load 链接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块。其命令是: sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

2 还有问题?

事实上,当我在 Ubuntu 中采用上述做法并重启了 Apache 服务后,仍然无法正常 rewrite 网址。
还要进行一步操作:

sudo vim /etc/apache2/apache2.conf

将其中所有的: AllowOverride None 修改为: AllowOverride All
AllowwOverride None 则会完全忽略 .htaccess 文件,自然其中所定义的 rewrite 规则也就不能生效了。

最后记得需要哦重启Apache 服务。

OK。完事大吉!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值