小说站的rewrite经常会遇到这样的一个问题,实际保存路径是
/file/article/html/1/1245/32343.html
这个时候想要rewrite成
/book/1245/32343.html
这样的路径时,在nginx里边不会实现,只能通过php来实现,但使用php实现会大量耗费服务器的资源。
这里教大家一个nginx规则来实现这样的伪静态
http {
# ... 其他 http 配置 ...
map $1 $subaid {
~^(\d+)\d{3}$ $1;
default 0;
}
server {
listen 80;
server_name yourdomain.com;
# ... 其他配置 ...
location /cover/ {
if ($request_uri ~* ^/cover/(\d+)\.jpg$) {
rewrite ^/cover/(\d+)\.jpg$ /files/article/image/$subaid/$1/$1s.jpg last;
}
}
# ... 其他配置 ...
}
# ... 其他 http 配置 ...
}
我这里使用的是Cover封面来做的示范,主要就是添加一个map做对应关系。相信通过这个示范你也学废了吧。
发表回复
要发表评论,您必须先登录。