【发布时间】:2012-07-20 13:50:32
【问题描述】:
如何重写传入的请求,使其全部为小写?我环顾四周,一些答案是使用重写模块,但这些不是针对使用反向代理的特定情况。
我想要的是这样的请求:
http://mywebsite/SomeApPlIcAtIon
要转换成这个:
http://mywebsite/someapplication/
有什么建议吗?
更新:
我已经按照我认为应该正确的方式设置了它,我的 httpd.conf 看起来像这样:
servername localhost
RewriteEngine on
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 9
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
我的反向代理设置在 conf.d 中一个名为 sabnzbd.conf 的文件中:
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /sabnzbd/ http://192.168.21.21:9999/sabnzbd/
ProxyPassReverse /sabnzbd http://192.168.21.21:9999/sabnzbd/
在我启用的站点中,我的 000-默认我将所有 AllowOverride 设置为 All
当我转到 192.168.21.21/sabnzbd/ 时,它工作得很好。
当我转到 192.168.21.21/SABNZBD/ 时,我得到一个 404。重写规则不起作用。
当我去我的重写日志文件检查它时,没有数据。
出了什么问题?
【问题讨论】:
-
为什么客户端没有发送正确的url?
标签: apache ubuntu apache2 reverse-proxy