这是在建站初期碰到的一个小问题,很奇怪但是网上没人说这个事儿。折腾了半天总算是解决了这个问题。作为处女座强迫症,网址名字一定要越短越好。
我使用了根域名解析,甩掉了WWW的前缀,网址短了一些。
WordPress在你发布文章时会根据默认设置定固定一个网址,通常这个固定链接包含了年月日和文章ID。
WordPress让您能够为您的固定链接和归档建立自定义URL结构。自定义URL结构可以为您的链接提高美感、可用性和前向兼容性。
很显然,这么长的网址对于强迫症是不可接受的。
我需要把网址固定链接为Domain.com/id,越短越好,有利于高效的交流。
进入WordPress后台 ,设置-固定链接,选择自定义结构,只选择%post_id%。
之后保存,打开首页,正常。打开随意一个页面,Nginx 404。
并且仪表盘-站点健康状态出现了:
当测试 rest api 时返回了预期之外的结果: rest api 响应: (404) not found。
解决办法:选择自定义结构在想要的固定链接格式前加/index.php。
例如上图的%post_id%改成/index.php/%post_id%。
这样虽然到达效果,但是前面会加多个index.php。很显然不可接受。
后来仔细琢磨了一下,是伪静态的问题。
我使用的是宝塔+Nginx的配置,在宝塔中选择你的网站,选择伪静态。
如果你的WordPress安装在网站根目录(大多数),那么直接复制:
location / {
if (!-e $request_filename) {
rewrite (.*) /index.php;}}
如果你的WordPress安装在网站二级目录(少数),那么直接复制:
location /blog/ {
if (!-e $request_filename) {
rewrite (.*) /blog/index.php;}}
其中blog是你网站的路径,在blog文件夹下有WordPress的index.php。
保存后网站恢复正常。
这个办法也适用于宝塔恢复站点后,首页正常,二级域名全部Nginx 404 的情况。
希望这个教程可以帮到你,毕竟没解决之前我是直接清空了数据重做了整个网站。
Comments 2 条评论
博主 Ading阿定
好用!( ̄▽ ̄)
博主 2132632205
万分感谢,找了一下午没有一个好用的,到这里才成功