2012-12-21 18 views
0

我不知道如何描述這個問題沒有一個特定的設置,所以我不知道如果帖子標題是非常有意義的。Apache子路由/符號鏈接異常規則

無論如何,我們有一個名爲marketing的Rails應用在Phusion Passenger上運行。我們的旅客VirtualHost設置了RailsBaseURI /marketing條目,並且/var/www/html/marketing符號鏈接指向文件系統的單獨部分(如/home/user1/marketing)中的Rails目錄。這一切都很好,我們可以在ourdomain.com/marketing上打這個應用程序。 Rails應用程序有幾條路線,如/marketing/businesses/marketing/certificates,指向與我們營銷部門的各種功能對應的不同「子應用程序」。

現在,我有一個獨立的Adobe AIR應用程序MarketingPeanuts,它支持AIR自動更新功能。簡而言之,autoupdate需要AIR安裝程序包和服務器上的配置文件(「autoupdate內容」),AIR應用程序代碼指向此URL。我希望自動更新的URL爲ourdomain.com/marketing/peanuts以維護語義。但是,我不想將自動更新內容放入Rails目錄,因爲1)MarketingPeanuts AIR應用程序與Rails應用程序沒有任何關係(除了是市場營銷部門的另一個功能外),以及2)任何時候I需要更新AIR應用程序,我必須重新部署Rails應用程序才能將最新的autoupdate內容傳輸到服務器上。

所以我想要做的就是把AIR自動更新的內容在文件系統中的一個完全不同的部分(比如/home/user2/marketing_peanuts),並以某種方式告訴Apache,如果它看到具體的子URL /marketing/peanuts,點這個位置,否則, ,將所有其他/marketing/*子URL發送到Rails目錄(從上面的/home/user1/marketing)。雖然沒有Rails抱怨不存在的路由(儘管如果Apache可以解決這個問題,那麼Rails問題甚至不應該存在)。

是否有可能在Apache中做這種事情(我猜是的),如果是的話,怎麼樣?

回答

2

您應該可以使用mod_alias(隨Apache提供)來做到這一點。啓用該模塊,然後將其置於Apache配置中的某個位置:

Alias /marketing/peanuts /home/user2/marketing_peanuts