【问题标题】:httpd RewriteRule does not add a trailing slashhttpd RewriteRule 不添加斜杠
【发布时间】:2016-04-29 02:55:35
【问题描述】:

我最近在 centOS 安装中首次体验了标准 apache 的 httpd 配置。目前,我无法指定一个 RewriteRule,它在我的 URL 中添加一个斜杠,以便该目录中的 html 可以使用相对路径访问 css 和 js 文件(没有斜杠,路径的最后一部分将被忽略:@987654321 @ 变成 domain.com/cs 这很糟糕。)

目前 httpd.conf 的重要部分如下所示:

RewriteEngine On
RewriteRule ^/pizza$ /pizza/

ProxyRequests Off
ProxyPreserveHost On

ProxyPass /pizza balancer://pizzaBalancer nofailover=On
ProxyPassReverse /pizza balancer://pizzaBalancer

<Proxy balancer://pizzaBalancer>
    BalancerMember http://localhost:1234 keepalive=On
</Proxy>

当我输入 domain.com/pizza 之类的 URL 时,代理工作并将我重定向到那里的 index.html,但 index.html 无法加载具有相对路径的 js 和 css,如上所述。

此时,我不知道如何继续或解决此问题。

【问题讨论】:

    标签: linux apache mod-rewrite centos


    【解决方案1】:

    您应该在 RewriteRule 中附加一个 [R],并在 ProxyPass 和 ProxyPassReverse 的两个参数中附加一个斜杠。这样 HTTPD 将添加尾部斜杠,然后只有在后续请求中才会访问 tomcat。

    【讨论】:

    • 我根据您的提示编辑了 httpd.conf,但遗憾的是它没有改变任何东西。我开始认为我错过了更大的事情。
    猜你喜欢
    • 1970-01-01
    • 2023-04-11
    • 2015-09-20
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 2019-03-01
    • 2018-06-29
    • 2012-01-12
    相关资源
    最近更新 更多