apache利用.htaccess进行反向域名绑定

阅读更多
一、需求:
    因公司带宽问题,所以想把静态资源移置CDN上(阿里或腾讯),但是某些前台js不支持跨域操作(createjs),但是页面文件为jsp页面,未移置到CDN上,createjs在对页面中的跨域图片就无权修改,所以想都在同一域名进入,页面文件正常访问apache下的,指定静态文件定位到CDN地址上。

二、解决方案
1. 没有用到createjs的配置URL为CDN上的资源。

2. 用到createjs的配置URL为域名映射的apache下对应的URL。

三、apache的配置
    这里只是指定apache下某目录资源被访问跳转到CDN上请求,不是所以请求。如果是所以,可以直接配置在httpd.conf中。

1. 配置.htaccess,文件放在被访问的目录下

    RewriteEngine On
    RewriteBase / # 在.htacess文件中被支持,如果是服务器配置文件,此规则会被忽略
    RewriteRule ^(.*)$ http://frp.xxxxx.com/xxx/games/jianren2/$1 [P]
#    RewriteRule ^(.*)$ http://frp.xxxxx.com/$1 [P] # P(force proxy) 强制使用代理转发。



    order allow,deny
    deny from all


引用
http://www.jb51.net/article/25476.htm
http://www.freehao123.com/park-domains/


2. 配置httpd.conf
# LoadModule rewrite_module modules/mod_rewrite.so 去除前面的 #

# 配置需要跳转的静态文件目录

    Options FollowSymLinks 
    AllowOverride All # 如为None则不跳转


引用
http://www.jb51.net/article/47889.htm


3. windows下创建.htaccess文件方法
1) 打开Windows内建的记事本;
2) 选取另存新文件“文件->另存为”;
3) 在另存为的“保存类型”下拉选单中选取“所有文件”类型,可以选择utf-8,也可以是ansi
4) 这时就可在“文件名”中输入.htaccess;
5) 选取要另存的路径再按下保存,一个.htaccess 文件就新增完成。
引用
http://blog.sina.com.cn/s/blog_558839ae0100ev90.html



如:目录结构
DocumentRoot "D:/Develop/Apache2.2/test"
D:\Develop\Apache2.2\test\test  不需要跳转的目录
D:\Develop\Apache2.2\test\test\index.html apache下的此文件可以正常访问
D:\Develop\Apache2.2\test\udp\games\jianren2  为需要跳转到CND的目录
D:\Develop\Apache2.2\test\udp\games\jianren2\index.html apache下的此文件不能被访问,而是直接跳转到CDN,因为AllowOverride All,同时目录下有.htaccess文件指定了跳转规则。

效果:
apache利用.htaccess进行反向域名绑定_第1张图片

apache利用.htaccess进行反向域名绑定_第2张图片

已成功跳转的页面:
apache利用.htaccess进行反向域名绑定_第3张图片

apache下正常访问的页面:
apache利用.htaccess进行反向域名绑定_第4张图片

apache下没有配置.htaccess时被访问到的页面
apache利用.htaccess进行反向域名绑定_第5张图片
  • apache利用.htaccess进行反向域名绑定_第6张图片
  • 大小: 158.2 KB
  • apache利用.htaccess进行反向域名绑定_第7张图片
  • 大小: 187.6 KB
  • apache利用.htaccess进行反向域名绑定_第8张图片
  • 大小: 128.4 KB
  • apache利用.htaccess进行反向域名绑定_第9张图片
  • 大小: 158.2 KB
  • apache利用.htaccess进行反向域名绑定_第10张图片
  • 大小: 51.8 KB
  • 查看图片附件

你可能感兴趣的:(apache,htaccess)