背景
租用了DigitalOcean的Droplet搭建自己的个人站,裸机器,从LAMP到Wordpress都是手动安装,配置也是自己修改,辛苦安装成功后,发布了第一篇帖子,但是从主页点击帖子链接跳转出现404错误。
异常上下文
帖子的链接路径类似于/index.php/%year%/%monthnum%/%day%/%postname%/,在Wordpress安装目录下找不到请求的资源
问题原因
WordPress有一个关键的设置Permalinks,用户可以自定义帖子的路径格式,但是这个路径不是实际存在于服务器的文件系统下,需要配置一定的URI重写规则。
解决方案
Apache2服务器开启rewrite模块
a2enmod rewrite
systemctl restart apache2
修改Apache2 Virtual Host配置
<Directory /usr/share/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
在网站的Dashboard上修改Permalinks格式
网站会尝试自动修改Wordpress的.htaccess文件。如果修改失败,会在页面底部显示具体的配置,需要自己手动拷贝
<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>
结语
WordPress原生的编辑器太难用了,想换个Markdown
Leave a Reply