服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - 配置解决Nginx服务器中WordPress路径不自动加斜杠问题

配置解决Nginx服务器中WordPress路径不自动加斜杠问题

2019-11-06 12:03姜南 Nginx

这篇文章主要介绍了配置解决Nginx服务器中WordPress路径不自动加斜杠问题,nginx不会自动在请求的最后加上一个斜线的问题文中也有提到通用的规则改写方法,需要的朋友可以参考下

问题是这样的:我习惯在博客地址后面直接加"wp-admin"敲回车进入WordPress后台,但是进去以后发现不管我点任何一个管理子项,一律404(找不到页面),瞬间我就囧了,这是神马状况。。。

仔细看了一下管理子项的链接,发现他们全是类似"//www.zzvips.com/blog/edit.php"这样的,关键就在于他们都少了"/wp-admin/"这条路径,路径都不对了,肯定404呗。。。

知道问题在哪就简单了,而且答案肯定还是在Nginx的重定向规则上,但是我不知道怎么改,但是我还知道WordPress官方肯定已经解决了,所以我还是很淡定地去查文档了。。。got it

http://codex.wordpress.org/Nginx

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

果然给我在codex上找到了解决方案,就是简单地加一行斜杠重定向而已,方法综述如下:

1、登录shell,vim编辑Nginx配置目录(一般是在/usr/local/nginx/conf/)下的"wordpress.conf",当然如果你像我一样用的是自己写的conf文件,那就改对应的那个重定向配置文件就好。

?
1
vim /usr/local/nginx/conf/wordpress.conf

2、把官方给的那一行加到文件最后面就行了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
location /blog/ {
if ($host != 'www.zzvips.com' ) {
rewrite ^/(.*)$ //www.zzvips.com/$1 permanent;
}
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 (.*) /blog/index.php;
}
}
 
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

3、:wq保存重启nginx即可

其实你要是懒的话,直接用 "echo >>" 追加就行了= =

PS:据说 nginx不会自动在请求的最后加上一个斜线,不会自动判断请求的是一个文件还是一个目录。网上搜索 nginx 斜线,都会提到需要在请求的最后加上这个斜杠。

网上大部资料是这样写的 :

在nginx\conf\vhost.conf中的 location / {}的index  index.html后面加上

?
1
2
3
if (-d $request_filename) {
 rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}


但如果你的网址后面带了端口的话,那么转向时还是会出现403错误。

即 $host 变量把端口弄没了,改成 $http_host 变量即可

改成如下写法即解决了所有问题

?
1
2
3
if (-d $request_filename) {
 rewrite ^/(.*)([^/])$ http://$http_host/$1$2/ permanent;
}

 

延伸 · 阅读

精彩推荐
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27