为什么要去除/?/
由于网站的发展,数据量会逐渐增多,更换起来下载源会非常麻烦,不可否认可以在mysql里面批量替换,但是本质上一劳永逸的方法是
1、使用固定域名和链接去对应文件源,我设置了3个源d.shikey.com
2、如果Onedrive挂了的话,直接将文件传到另外的服务器上,域名解析过去即可。
这样会非常有利于用户体验,减少下载地址无效的尴尬。
Oneindex简介
具体是什么,可以在本站搜索,当然也可以直接百度。是个很不错的Onedrive目录显示程序。
我的环境
Wdcp集成环境,没有用宝塔,如果是宝塔的话会更加简单。N+A模式,当然只有Nginx估计在正在工作。
修改方法
1、找到网站配置文件,一般为d.shikey.com.conf,nginx的配置文件
2、加入以下代码
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /index.php?/$1 last;
}
3、保存配置文件,重启web,如果是wdcp搭建的,还需要先修改,再给文件添加可读不可写入的隐藏属性。
#宝塔面板无需设置,文件地址请自行配置
chattr +i /www/xxx/xxx/d.shikey.com.conf
4、在oneindex的管理后台内,把/?/选项关掉
5、Apache环境配置官方文档就有,这里就不说了。
6、其他方法(本人未测试)
#在server { }内添加:80和443都需要
location / {
try_files $uri $uri/ /index.php?/$uri;
}
#全局申明,否则图片不能显示
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
#{
# expires 30d;
#}
UPDATE wp_posts SET post_content = REPLACE( post_content, ' d.shikey.com/?/', 'd.shikey.com/' )
批量更新文章表内的URL,不同结构的数据需要自行替换