apache mod_rewrite 不適用於 mod 代理

apache mod_rewrite 不適用於 mod 代理

我有一個 Rails 2.3.18 應用程式在運行http://0.0.0.0:3004/,它正在運行乘客艙,並部署在 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>

在配置中我放置了以下規則重寫模組

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

http://mydomain.com/folder/...這將重定向所有發送至的請求http://mydomain.com/...,但該規則不起作用,因為。

例如,我請求以下來源的圖像:

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

目標是重定向到

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

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

非常感謝。

傑特

答案1

您的請求不以資料夾開頭,而是以正斜線開頭。

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

相關內容