銮尊

网站描述

nginx下typecho环境自动给目录添加斜杠

博客用的云主机,cms用的是 typecho 系统,环境配置什么的都是自己弄的。有时候需要手动上传一些页面,但这个适合发现,本是目录的 url,如果不加上“/”,页面打开后,url 也不会自动添加上,这个时候就会出现页面中使用相对路径的文件或者链接是错误的。

如何解决这个办法,让我很头痛。刚开始是请教身边的朋友,对方给出的伪静态规则是:

if ($request_uri ~ "/+[^\\.]+$"){
    rewrite ^([^.\\?]*[^/])$ $1/ permanent;
}

但是,使用了这个规则后,发现后台的页面跳转出现了问题,比如新写一篇博文,点击“发布文章”时,跳转错误,文章没有保存到数据库。然后,我自己又写了一个:

if (-d $request_filename){
    rewrite ^([^.\\?]*[^/])$ $1/ permanent;
}

使用这个规则,在后台发文章是没有问题了,但是在博客首页点击登陆,却无法跳转到后台页面,尼玛,真奇葩。

然后,今天我又在网上找了一下,发现了和我写的差不多的一个规则:

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

使用这个了,首页登陆后可以进入后台,发文章后也可以保存,同时在地址栏输入目录的 url,也会自动加上“/”了。暂时没有发现不良反应。

2021-02-16

栏目: Linux