页面载入中...

推荐标签

当前位置:首页 > 学院 > 主机环境 > 主机环境

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

问题是这样的:我习惯在博客地址后面直接加"wp-admin"敲回车进入Wordpress后台,但是进去以后发现不管我点任何一个管理子项,一律404(找不到页面),瞬间我就囧了,这是神马状况。。。j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

仔细看了一下管理子项的链接,发现他们全是类似"//www.jb51.net/blog/edit.php"这样的,关键就在于他们都少了"/wp-admin/"这条路径,路径都不对了,肯定404呗。。。j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

知道问题在哪就简单了,而且答案肯定还是在Nginx的重定向规则上,但是我不知道怎么改,但是我还知道Wordpress官方肯定已经解决了,所以我还是很淡定地去查文档了。。。got itj35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

http://codex.Wordpress.org/Nginxj35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

果然给我在codex上找到了解决方案,就是简单地加一行斜杠重定向而已,方法综述如下:j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

1、登录shell,vim编辑Nginx配置目录(一般是在/usr/local/nginx/conf/)下的"Wordpress.conf",当然如果你像我一样用的是自己写的conf文件,那就改对应的那个重定向配置文件就好。j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

?j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

1
vim /usr/local/nginx/conf/Wordpress.conf

2、把官方给的那一行加到文件最后面就行了j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

?j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
location /blog/ {
if ($host != 'www.jb51.net' ) {
rewrite ^/(.*)$ //www.jb51.net/$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即可j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

其实你要是懒的话,直接用 "echo >>" 追加就行了= =j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

PS:据说 nginx不会自动在请求的最后加上一个斜线,不会自动判断请求的是一个文件还是一个目录。网上搜索 nginx 斜线,都会提到需要在请求的最后加上这个斜杠。j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

网上大部资料是这样写的 :j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

在nginx\conf\vhost.conf中的 location / {}的index  index.html后面加上j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

?j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

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


但如果你的网址后面带了端口的话,那么转向时还是会出现403错误。j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

即 $host 变量把端口弄没了,改成 $http_host 变量即可j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

改成如下写法即解决了所有问题j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

?j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

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


j35阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

免责申明:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。
来源:阿里开门源码网(QQ:43171398,点我畅聊,转载请保留出处!)   阿里开门源码官方交流QQ群:183966298  点我加群 
 

网友评论

发表评论