搜索泥称 发表于 2018-11-24 09:57:11

【apache】mod_proxy 和 mod_rewrite实现js跨域

  RewriteRule 指令是重写规则。

[*]  last|L 这个标记用于阻止当前已被重写的 URL 被后继规则再次重写。
[*]  redirect|R [=code] 若Substitution以http://thishost[:thisport]/(使新的URL成为一个URI)开头,可以强制性执行一个外部重定向,是跨域或定向到外部域的必备良药。默认为 HTTP 响应码为 302, 我通常指定为301。
[*]  proxy|P 此标记使替换成分被内部地强制作为代理请求发送,表明该 rewrite 是通过 mod_proxy 代理过去,而不是通过外部重定向过去。
[*]  nocase|NC 忽略大小写,也就是在Pattern与当前 URL 匹配时,’A-Z’和’a-z’没有区别。
2、(mod_rewrite官方文档中文详解)  http://man.chinaunix.net/newsoft/ApacheManual/misc/rewriteguide.html
  下面是我根据上面2篇参考自己写的:
  1、下载apache代理服务器 http://apache.etoak.com//httpd/binaries/win32/httpd-2.2.21-win32-x86-no_ssl.msi
  2、安装后,打开安装目录下conf/httpd.conf文件
  3、去掉注释
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy_http.so
  LoadModule rewrite_module modules/mod_rewrite.so
  在最下面增加:
  
  
  SetHandler proxy-server
  order allow,deny
  Allow from all
  
  RewriteEngine on
  RewriteRule ^/web1/(.*)$ http://localhost:8080/web1/$1
  RewriteRule ^/web2/(.*)$ http://localhost:8082/web2/$1
  
  这样配置就完成了,解释下上面两个 rewriterule 的含义,其余的找上面给出的两篇资料参考
  上面的web1和web2其实是两个项目部署在不同的tomcat中,端口分别为8080和8082
  web1中的index.jsp文件:

页: [1]
查看完整版本: 【apache】mod_proxy 和 mod_rewrite实现js跨域