小十的个人博客

@小十

born for design, do what you want, and carpe diem

文章 343
朋友 17
来访 1840

LATEST POSTS

RANKINGS

    • http://www.xiaoten.com
    • 网站成立5377天

    小十

    • 收藏品

    解决Nginx下WordPress后台wp-admin不自动加斜杠问题

    不知道从哪次升级出现的新毛病,症状表现为,如果登陆的时候,最后形成的后台地址的wp-admin的后面没有“/”的话,不能正常的写文章等进行一系列的后台操作,提示页面404,因为没有自动加/的话,其它操作的界面的链接中就少了wp-admin,本来以为是我程序的问题,一直感觉我从2011年开始用wordpress以来,就没有重新彻底的重装过wordpress,一直升级可能会造成很多垃圾,我自己是这么想得,所以就没管过,某天闲的无聊,觉得查一下吧,后来才发现,原来是nginx的问题,这样以来我这中症状就不是个例了,于是去官方文档上搜了一下。

    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文件,那就改对应的那个重定向配置文件就好。

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

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

    location /blog/ {
    if ($host != 'www.slyar.com' ) {
    rewrite ^/(.*)$ http://www.slyar.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即可

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

    echo 'rewrite /wp-admin$ $scheme://$host$uri/ permanent;' >> /usr/local/nginx/conf/wordpress.conf

    /etc/init.d/nginx restart

    Comments | 4 条评论

      游客,你好 修改资料

    *邮箱和昵称必须填写

    • 加了,还是不好使呢,比如xxx.us/wp-admin/edit.php 点击的时候还是直接到xxx.us/edit.php

      • 小十

        @司马他 2013年写的。。。估计现在都不管用了…… – –

    • 博主,能交换个链接不?