我有一个 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]