wordpress安装好后只能打开首页,其它页面404,这是什么问题?

wordpress是动态程序,所以默认情况下它的链接是动态的,有特殊字符。但是为了谷歌SEO优化考虑,我们一般会给wordpress设置固定链接,使用静态链接形式,如果你使用的是服务器或者是国内的虚主机,只要你设置了静态的固定链接格式就会发现网站只能打开首页,其它页面都可能打不开了,一打开就是404错误。

可能原因:

出现这种情况的原因一般都是虚拟主机或服务器的伪静态规则没有设置好。

解决方法:

1.登陆网站后台。

wordpress安装好后只能打开首页,其它页面404,这是什么问题?-悦然跨境出海

如上图所示设置好固定链接格式,上图是我网站使用的格式,以数字ID结尾,这种在中文网站中使用比较多,英文网站也可以用,但wordpress外贸建站使用上面的【文章名】的格式会更多一些,你也可以这样设置,直接选它保存即可。

2-1.虚拟主机伪静态规则设置

location / {
	try_files $uri $uri/ /index.php?$args;
}
 
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

如果你使用的是阿里云的虚拟主机,可以把上面的代码添加到虚拟主机控制台的设置中。

wordpress安装好后只能打开首页,其它页面404,这是什么问题?-悦然跨境出海

如上图所示,把代码复制过来保存即可。

2-2.服务器伪静态规则设置

wordpress安装好后只能打开首页,其它页面404,这是什么问题?-悦然跨境出海

以宝塔为例,登陆宝塔后台,打开网站-设置-伪静态,然后在下拉框选“wordpress‘,保存即可。

以上操作都完成后刷新网戊就可以正常打开其它页面了。

问题延伸:

如果你的网站使用了二级目录,那么你的二级目录网站可能也会遇到类似的伪静态问题,不加设置的话同样只能打开首页,点击其它页面时可以后出现404错误,或者是串到其它网站去。此时我们需要在原来的伪静态规则下面添加如下代码:

location /二级目录名称/ {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /二级目录名称/index.php;
}
}

注意:需要注意的是这个方式只适用于服务器,国内虚拟主机一般不支持多站点。

另外:如果你使用的是国外的wordpress专用虚拟主机,比如bluehost、siteground等,主机已经做好的wordpress相关的伪静态设置,也可以直接开启多站点,你只需要设置一下固定链接就可以了。

购物车
搜索