Apache Web服务器mod_rewrite模块RewriteRule问题

发布于 2024-10-14 14:22:57 字数 708 浏览 4 评论 0原文

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

我正在尝试做的事情: 当我请求http://domainname/some-title时, 它必须到达 Tomcat 作为 http://domainname:8080/fetch.action?entry.title=some-title

我写了一条规则:

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>

I have a Struts 2 application on Tomcat 6. There is a Apache 2.2 web server in front of Tomcat.
I am trying to create Google friendly URLs by mod_rewrite.

What I am trying to do:
When I request http://domainname/some-title,
it must reach to Tomcat as http://domainname:8080/fetch.action?entry.title=some-title

I wrote a rule:

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

But it doesnt work!
Does anyone help me? Thanks.

My Apache virtual host configuration is:

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难忘№最初的完美 2024-10-21 14:22:57

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

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

You need to make an internal proxy request as the destination port 8080 is probably only internally reachable:

RewriteRule ^/(.*) http://%{HTTP_HOST}:8080/fetch.action?entry.title=$1 [L,P]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文