2016-11-05 59 views
1

我有localhost:63837運行ISSO應用程序,我想代理請求從https://www.domain.com/isso如何在htaccess中將子文件夾重定向爲代理?

這是我的方法:

RewriteRule https://www.domain.com/isso/(.*)$ http://127.0.0.1:63837/$1 [P] 
RewriteRule /isso/(.*)$ http://127.0.0.1:63837/$1 [P] 
RewriteRule /isso(.*)$ http://127.0.0.1:63837/$1 [P] 

一般情況下我調整httpd-vhost.conf但在這種情況下,我不能這樣做在我的主辦方(Uberspace)上。

<Location "/isso"> 
    ProxyPass "http://127.0.0.1:63837" 
    ProxyPassReverse "http://127.0.0.1:63837" 
</Location> 

此外,我不喜歡爲此使用子域。

+0

'重寫規則^ ISSO /(.*)$ http://127.0.0.1:63837/$1 [P]'? –

+0

@DusanBajic:不幸的是404。但是,謝謝。 – crstin

+0

只需再次檢查,您的主機不會讓您編輯.conf,但它允許您在端口63837啓動您的應用程序? –

回答

1

你的第二種方法幾乎是正確的(實際上,這正好可以在.conf文件中工作)。

在每目錄上下文(Directory.htaccess),則模式抵抗只是局部路徑相匹配:在比較之前,其中該規則被定義爲從路徑剝離的目錄路徑 - 至多幷包括一個尾隨斜線! 刪除的前綴始終以斜槓結尾,表示匹配發生在字符串上,其中從不具有前導斜槓。

因此:

RewriteRule ^isso/(.*)$ http://127.0.0.1:63837/$1 [P] 
+0

這是完美的,並且在我的.htaccess中擺脫了缺陷之後,現在也可以在我的主機上工作。由於我目前的聲譽,我無法贊成。 +1 – crstin

相關問題