簡體   English   中英

Apache重寫或代理

[英]Apache Rewrite or proxy

我的機器(端口80)上運行着Apache服務器我的機器(端口8080)上運行着Zope服務器

我希望所有用戶,無論域如何(現在都使用www.example.com)都無縫地推送到zope實例

IE(如果我在瀏覽器中輸入http://www.example.com/mysite)

它將顯示http://www.example.com:8080/mysite的效果

我希望URL仍說http://www.example.com/mysite

(sub)域應該無關緊要,因為將有2個或3個域指向同一台服務器

我應該看一下mod_rewrite或mod_proxy嗎?

我有一半的mod_rewrite工作,但是它改變了瀏覽器的功能嗎?

目前正在嘗試

RewriteEngine on    
RewriteRule ^($|/.*) http://localhost:8080/$1 [P]

但是獲得服務器500

使用“ http:// localhost / mysite”進行連接

您可以使用帶有P (代理)規則的mod_rewrite或使用mod_proxy來執行所需的操作。 使用mod_rewrite您的配置將如下所示:

RewriteRule ^/mysite/(.*) http://www.example.com:8080/mysite/$1 [P]

使用mod_proxy ,您的配置如下所示:

<Location /mysite/>
  ProxyPass http://www.example.com:8080/
  ProxyPassReverse http://www.example.com:8080/
</Location>

兩者都完成大致相同的事情。 結合使用Location塊和ProxyPass ,可以輕松地將其他配置指令應用於前端服務器上的此路徑。

Zope使用路徑中的VirtualHostMonster標志,通過一些特殊的重寫來立即支持您的方案。 這樣可以確保Zope(以及擴展名Plone)生成的所有URL對於代理請求也是正確的。

你應該同時使用mod_rewritemod_proxy ,他們會在演唱會的工作。

為了使創建正確的重寫URL更容易,有人構建了出色的RewriteRule Witch 插入您的特定示例輸出:

RewriteRule ^/mysite($|/.*) \
http://127.0.0.1:8080/VirtualHostBase/\
http/%{SERVER_NAME}:80/mysite/VirtualHostRoot/_vh_mysite$1 [L,P]

因此,對於任何以http://www.example.com/mysite為根的URL, http://www.example.com/mysite重寫它們以從在localhost端口8080上運行的服務器提供服務,並確保Zope生成具有相同根的URL。

有關更多詳細信息,請參見Zope Wiki 上有關VirtualHostMonster功能詳細文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM