0

我知道这是一个常见问题,并且我知道有一个简单的解决方案,但是我无法获得我在网上找到的解决方案来解决我的情况。

我有这样的地址:

https://localhost/cms

但是,当访问者访问此地址时,apache 找不到资源,但如果访问者访问:

https://localhost/cms/

它按预期工作。所以,为了解决这个问题,我试图创建一个 mod 重写条件,但我遇到了一些麻烦。到目前为止,这是我的 conf 文件:

<VirtualHost *:443>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !(.*)/cms
    RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1/ [L,R=301]
    ProxyPreserveHost on
    ProxyRequests off
    ProxyPass /cms/ http://localhost:9000/cms/
    ProxyPassReverse /cms/ http://localhost:9000/cms/
</VirtualHost>

有什么建议么?

4

1 回答 1

0

所以,我通过使用 ReverseProxy 弄清楚了,这是更新的 conf 文件:

<VirtualHost *:443>
    ProxyPreserveHost on
    ProxyRequests off

    ProxyPass /cms/ http://localhost:9000/cms/
    ProxyPassReverse /cms/ http://localhost:9000/cms/

    ProxyPass /cms http://localhost:9000/cms/
    ProxyPassReverse /cms http://localhost:9000/cms/

</VirtualHost>
于 2014-04-25T19:43:28.880 回答