修改Nginx,解决固定链接更新404问题

网站固定链接只能以朴素形式体现,这个问题显然不利于SEO,调整的想法一直在折磨我。看了几篇教程,改nginx代码多次,但是总不得其解。乃至装了一把宝塔和更改.htaccess仍未解决,甚至把网站搞瘫了超过72小时,从3月28日中午到3月31日晚上8点左右,一直无法恢复正常。。

念念不忘,必有回响,时至深夜,我觉得我应该找到了一个可以解决的办法,遂进行相关实操记录。

1,按照路径/etc/nginx/nginx.conf ,找到nginx.conf文件和以下相关代码。

server {
listen       80;
server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
root   /usr/local/nginx/html;
index  index.php index.html index.htm;
}

#error_page  404              /404.html;

 

2,在“#error_page 404 ”之前增加如下代码到server中。

location / {
try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

3,此时重启nginx.conf,会有以下提示。

[root@iZ6a3b4oz2y3pbZ ~]# service nginx restart
nginx: [emerg] duplicate location “/” in /etc/nginx/nginx.conf:50
nginx: configuration file /etc/nginx/nginx.conf test failed

勿慌。

4,这里是提示了有两个location,接下来将location命令合并,删除第二个“location / {”, 最终代码如下显示:

server {
listen       80;
server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
root   /usr/local/nginx/html;
index  index.php index.html index.htm;
}

#error_page  404              /404.html;

location / {
root   /usr/local/nginx/html;
index  index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

5,重新启动nginx,解决固定链接调整后链接的404问题。

[root@iZ6a3b4oz2y3pbZ ~]# service nginx restart
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]
[root@iZ6a3b4oz2y3pbZ ~]#

 

完。

坤德拉 2020.04.01


发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注