apache和tomcat相结合使用实现伪静态

转载 2012年06月29日 17:25:23

1、使用apj代理的方式:

配置http.conf文件

  1. <VirtualHost *:80> 
  2. DocumentRoot  "/home/abc/ROOT"  
  3. ServerName test.abc.com  
  4. DirectoryIndex index.jsp  
  5.                         <Directory "/home/abc/ROOT" > 
  6.             Options Indexes FollowSymLinks  
  7.             AllowOverride None  
  8.             Order allow,deny  
  9.             Allow from all  
  10.  </Directory> 
  11. #ProxyPass /css/ !  
  12. #ProxyPass /images/ !  
  13. #ProxyPass /js/ !  
  14. #ProxyPass /style/ !  
  15. ProxyPass / ajp://localhost:50092/  
  16. ProxyPassReverse  / ajp://localhost:50092/  
  17. RewriteEngine On  
  18. RewriteRule ^/bbs/content-([0-9]+)\.html$ ajp://www.abc.com:50092/bbs/content.jsp?id=$1 [P,L]  
  19. </VirtualHost> 

参数解释:

 

  1. 'last|L'(结尾规则)  
  2. 立即停止重写操作,并不再应用其他重写规则。它对应于Perl中的last命令或C语言中
  3. 的break命令。这个标记用于阻止当前已被重写的URL被后继规则再次重写。例如,使用它
  4. 可以重写根路径的URL('/')为实际存在的URL(比如:'/e/www/')。   
  5. 'proxy|P'(强制为代理)  
  6. 此标记使替换成分被内部地强制作为代理请求发送,并立即中断重写处理,然后把处理移交
  7. 给mod_proxy模块。你必须确保此替换串是一个能够被mod_proxy处理的有效URI(比如以
  8. http://hostname开头),否则将得到一个代理模块返回的错误。使用这个标记,可以把某些
  9. 远程成分映射到本地服务器域名空间,从而增强了ProxyPass指令的功能。   
  10. 注意:要使用这个功能,必须已经启用了mod_proxy模块。   

 

2、使用jk的方式:

 

  1. <VirtualHost *:80> 
  2.     DocumentRoot /home/www/ROOT  
  3.     ServerName www.bac.com  
  4.     JKMountFile conf/urimap_dongcom.properties  
  5.     JkLogFile logs/mod_jk_dongcom.log  
  6.     JkLogLevel error  
  7.     Options Indexes FollowSymLinks  
  8.     RewriteEngine On   
  9.     RewriteRule ^/bbs/content-([0-9]+)\.html$ /bbs/content.jsp?id=$1 [P,L]                         
  10. </VirtualHost> 

 

Apache之AllowOverride参数详解

通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override ,即
< Directory />
AllowOverride None
< /Directory>

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。

而对于 URL rewrite 来说,至少需要把目录设置为
< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>

AllowOverride的参数:

AuthConfig 允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。FileInfo 允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文档元数据的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。Indexes 允许使用控制目录索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。Limit 允许使用控制主机访问的指令(Allow, Deny, Order)。Options[=Option,...] 允许使用控制指定目录功能的指令(Options和XBitHack)。可以在等号后面附加一个逗号分隔的(无空格的)Options选项列表,用来控制允许Options指令使用哪些选项。

附带:ssh框架的伪静态

  1. <VirtualHost *:80> 
  2.     DocumentRoot /home/www/ROOT  
  3.     ServerName www.xxx.com  
  4.     JKMountFile conf/urimap_dongcom.properties  
  5.     JkLogFile logs/mod_jk_dongcom.log  
  6.     JkLogLevel error  
  7.     Options Indexes FollowSymLinks  
  8.     RewriteEngine On    
  9.     RewriteRule ^/bbs/content-([0-9]+)\.html$ /bbs/content.jsp?id=$1 [P,L]  
  10.     RewriteRule ^/community/bbs\.html$ /community/getallcomlist.action [P,L]  
  11.     RewriteRule ^/community/list-([0-9]+)\.html$ /community/community.action?id=$1 [P,L]  
  12.     RewriteRule ^/community/content-([0-9]+)-([0-9]+)\.html$ /community/getreplybytheme.action?comId=$1&themeId=$2 [P,L]  
  13.       
  14. </VirtualHost> 

 

本文出自 “林清杨--技术博客” 博客。

apache和tomcat相结合使用实现伪静态,同时把静态文件从工程里分离开

转:http://blog.csdn.net/leidengyan/article/details/6069630 由于可能我们做网站的时候经常想把静态文件和动态文件相分离,比如将帮助页...
  • u013330391
  • u013330391
  • 2015年06月04日 17:07
  • 415

CentOS下让Apache支持.htaccess伪静态文件方法

不管出于什么时候的需要,至少老左在前天"CentOS6安装LAMP环境搭建教程"之后我自己尝试安装了wordpress测试站点安装是没有问题的,占用资源还是比较好,毕竟没有类似安装包或者WEB面板一咕...
  • aerchi
  • aerchi
  • 2017年06月01日 14:56
  • 1356

php 之apache rewrite伪静态的简单配置和使用

真正的静态页面空间储存量大,进行删除或者更新这些html文件时可造成大量文件碎片,破坏磁盘坏道, 动态页面虽然可以实时更新,但是有时会导致死循环,对搜索引擎不友好,而伪静态却不会出现这种情况。 伪静态...
  • u013537717
  • u013537717
  • 2015年01月13日 14:46
  • 5505

如何让apache支持伪静态

因为采用了伪静态技术 这些都是apache伪静态没开启,没支持网站下.htaccess文件原因造成的。 因为采用了伪静态技术,所以web服务器必须开启伪静态  打开apache的配置文件ht...
  • lhzjj
  • lhzjj
  • 2014年06月11日 13:51
  • 9586

apache + tomcat 实现静态页面动态页面分离

一、前言: Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力 Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个...
  • xcc_2269861428
  • xcc_2269861428
  • 2018年01月04日 12:06
  • 73

apache开启伪静态的方法 php篇

打开apache的配置文件httpd.conf 找到 #LoadModule rewrite_module modules/mod_rewrite.so把前面#去掉。没有则添加,但必选独占一行,使a...
  • qq_16241043
  • qq_16241043
  • 2017年01月07日 17:22
  • 3335

Apache开启伪静态示例

Apache开启伪静态示例   环境: 系统 Windows Apache 2.2 加载Rewrite模块: 在conf目录下httpd.conf中找到 LoadModule rewri...
  • wepe12
  • wepe12
  • 2016年09月21日 11:44
  • 7016

URL Rewrite伪静态规则转换工具,支持Apache、Lighttpd和Nginx

URL RewriteRule conversion tool | URL伪静态规则转换工具 http://www.onexin.net/rewrite.php Apache Rewri...
  • load_life
  • load_life
  • 2012年11月30日 14:14
  • 3214

Apache2.2,2.4开启伪静态支持以及允许列表目录

首先开启 LoadModule rewrite_module modules/mod_rewrite.so   #伪静态模块 #网站目录     Options Indexes Follow...
  • kongdeqian1988
  • kongdeqian1988
  • 2015年12月06日 20:58
  • 2870

Nginx apache纯静态伪静态原理与实现方案

参考文档 防盗链 http://blog.csdn.net/pestd/article/details/6554410 ob缓冲机制深入理解 http://www.jb51.net/artic...
  • tiedanzi
  • tiedanzi
  • 2016年11月04日 15:52
  • 2153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:apache和tomcat相结合使用实现伪静态
举报原因:
原因补充:

(最多只允许输入30个字)