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

但它不起作用,它总是使用第一条路径。

非常感谢。

JT

答案1

您的请求不是以文件夹开头,而是以正斜杠开头。

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

相关内容