在Ubuntu Apache服务器上强制反向代理的小写URL

时间:2012-07-21 16:00:53

标签: apache ubuntu apache2 reverse-proxy

如何重写一个请求,使其全部小写?我环顾四周,一些答案是使用重写模块,但那些不是使用反向代理的具体情况。

我想要的是这样的请求:

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-defailt已将AllowOverride设置为All

当我去192.168.21.21/sabnzbd/时它工作得很好。

当我转到192.168.21.21/SABNZBD/时,我得到了404.重写规则不起作用。

当我转到我的重写日志文件来检查它时,没有数据。

出了什么问题?

1 个答案:

答案 0 :(得分:0)

假设您在Ubuntu上使用Apache服务器 - 您可以使用mod_rewrite模块。

您可以关注此博客(网址:http://www.chrisabernethy.com/force-lower-case-urls-with-mod_rewrite/),它介绍了配置模块的步骤。