首页 > 服务器 > 超方便的动静分离
作者:ghostry 发布时间:2016-08-22 浏览: 4094
转载注明出处: https://blog.1ge.fun/server/732.html很多时候,我们给原来没有分离的网站做动静分离要改程序。
而且修改量很大。一不小心就有遗漏的。
我找到了一个办法可以很方便的分离。
首先说说适用情况。
1,已经做好了程序,程序没做呢还是从程序方面入手解决比较好。
2,需要做动静分离。
3,访问量不是特别大,也不小,中等程度吧。
办法也很简单,就是用apache的htaccess写rewrite规则,把对不同文件的请求跳转到不同域名。301重定向。
当然你用别的支持规则的重写也是可以的。
首先我们把不是从静态域名发来的请求静态文件的请求都跳转到静态域名。
RewriteCond %{HTTP_HOST} !^st.ghostry.cn [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} ^(.+)\.(css|js|ico|png|jpeg|jpg|gif|svg|ttf|woff|woff2|otf|eot|flv|swf)$
RewriteRule ^(.+)$ http://st.ghostry.cn/$1 [R=301,NC,L]
看,我写的几乎涵盖了所有静态了吧。这几句话的意思呢就是首先必须是从非静态域名发来的,然后必须是真是存在的文件。然后扩展名必须在我写的范围内,这些都符合,就跳转到静态域名。
然后呢,因为我其实后端服务器没有分家,还是动静混杂的,我还希望静态域名过来访问动态内容的,全部都跳转动态域名。
RewriteCond %{HTTP_HOST} ^st.ghostry.cn [NC]
RewriteCond %{REQUEST_FILENAME} !^(.+)\.(css|js|ico|png|jpeg|jpg|gif|svg|ttf|woff|woff2|otf|eot|flv|swf)$
RewriteRule ^(.+)$ http://blog.ghostry.cn/$1 [R=301,NC,L]
这几句是说,从静态域名过来,扩展名不是指定的扩展名。统统跳转到动态域名。
这样写完以后。服务器会对进来的请求分拣。
下一篇: nginx反向代理配置