apache和tomcat相結合使用實現僞靜態

一、使用apj代理的方式:css

配置http.conf文件html

  
  
  
  
  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 /p_w_picpaths/ !  
  13. #ProxyPass /js/ !  
  14. #ProxyPass /style/ !  
  15. ProxyPass / ajp://localhost:50092/  
  16. ProxyPa***everse  / 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> 

參數解釋: apache

 

  
  
  
  
  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模塊。   

 

二、使用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 文件中。ssh

而對於 URL rewrite 來講,至少須要把目錄設置爲
< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>jsp

AllowOverride的參數:ide

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指令使用哪些選項。post

附帶: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>
相關文章
相關標籤/搜索