Apache Web服务器mod_rewrite模块RewriteRule问题

时间:2011-01-28 07:46:13

标签: mod-rewrite apache2 tomcat6

我在Tomcat 6上有一个Struts 2应用程序。在Tomcat前面有一个Apache 2.2 Web服务器。 我正在尝试通过mod_rewrite创建Google友好网址。

我想做什么: 当我请求http://domainname/some-title时, 它必须以http://domainname:8080/fetch.action?entry.title=some-title

的形式到达Tomcat

我写了一条规则:

RewriteRule ^/(.*)  /fetch.action?entry.title=$1    [L]

但它不起作用! 有人帮我吗?感谢。

我的Apache虚拟主机配置是:

<VirtualHost *:80>
    ServerName ihlsozluk
    RewriteEngine on
    RewriteRule     ^/(.*)  /fetch.action?entry.title=$1    [L]
    JkMount /* worker1
    ErrorLog logs/ihlsozluk-error.log
    CustomLog logs/ihlsozluk-access.log common
</VirtualHost>

1 个答案:

答案 0 :(得分:0)

您需要发出内部代理请求,因为目标端口8080可能只能在内部访问:

RewriteRule ^/(.*) http://%{HTTP_HOST}:8080/fetch.action?entry.title=$1 [L,P]