- 論壇徽章:
- 0
|
本帖最后由 sinboy2002 于 2011-05-11 17:47 編輯
配置如下:
1) 需啟用的模塊 rewrite,proxy,proxy_http
proxy模塊在這里只為讓RewriteRule的 -P flag有效(即讓proxy工作在reverse proxy模式),無其它任何作用, 因此你的proxy配置可以是這樣
<IfModule mod_proxy.c>
#關(guān)閉proxyrequest,是因?yàn)閞ewrite 的 P標(biāo)記,表明工作在reverse proxy模式而非forward proxy
ProxyRequests Off
<Proxy *>
#因?yàn)楣ぷ髟赗everseProxy模式,所以,訪問控制,意義不大(隱私級別的內(nèi)容另當(dāng)別論)
#說明:如果使用了 "P" 標(biāo)記的RewriteRule是放在"目錄"級的配置中,則proxy的訪問控制可以是 Deny from all, 否則請開放相關(guān)權(quán)限
AddDefaultCharset off
Order deny,allow
#Allow from your.domain
Deny from all
</Proxy>
ProxyVia Off
</IfModule>
2)配置文件
<Directory />
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !/your/error/page [NC]
RewriteRule .* /your/error/page [L,P,NS]
</Directory>
說明:
1)如果DirectoryIndex中有多個(gè)索引文件,那么,NS標(biāo)記在這里很重要!
2)如果DirectoryIndex中有多個(gè)索引文件,又沒有用NS標(biāo)記,那么,rewrite規(guī)則會寫得比較惡心!
其它實(shí)現(xiàn):
1)高版本apache(2.2.16或以上),有個(gè)FallbackResource指令。。。但存在DirectoryIndex的時(shí)候,有問題!
2)nginx...這個(gè)就不用說了! |
|