Apache-2.2

apache mod_rewrite 不適用於 mod 代理

  • December 4, 2013

我有一個 Rails 2.3.18 應用程序正在執行http://0.0.0.0:3004/,它與Passenger 模組一起執行,並使用以下配置在具有代理模組的Apache 伺服器上部署:

<VirtualHost *:80>
   <Proxy *>
       AllowOverride All
       Allow from all
   </Proxy>
   ServerName mydomain.com
   ServerAlias www.mydomain.com
   DocumentRoot /path/to/my/app/public
   <Directory /path/to/my/app/public>
       Options +FolowSymLinks
       AllowOverride All
       Order allow, deny
       Allow from all
       RewriteEngine On
       RewriteBase /
       RewriteRule ^folder/(.*)$ /$1 [P]
   </Directory>
   ProxyPass / http://0.0.0.0:3004/
   ProxyPassReverse / http://0.0.0.0:3004/
</VirtualHost>

在配置中,我放置了以下Rewrite 模組規則:

RewriteRule ^folder/(.*)$ /$1 [P]

這會將所有請求重定向到http://mydomain.com/folder/...http://mydomain.com/...但規則不起作用,因為。

例如,我從以下位置請求圖像:

http://mydomain.com/folder/images/image.jpg

目標是重定向到

http://mydomain.com/images/image.jpg

但它不起作用,它總是使用第一條路徑。

非常感謝你。

捷通

您的請求不是以文件夾開頭,而是以正斜杠開頭。

RewriteRule ^/folder/(.*)$ /$1 [P]

引用自:https://serverfault.com/questions/559263