我在/ start /上有一个服务器托pipe的网站。
在Apache conf文件中,我使用下面的简单规则将所有“/”的请求redirect到“/ start /”:
重写引擎 RewriteRule ^ /?$ / start / [R]
当我访问“ http://foo.bar/ ”时,浏览器被成功redirect到“ http://foo.bar/start/ ”。
但是,当我访问“ https://foo.bar/ ”时,浏览器不会redirect到/ start /,而是显示默认的Apache欢迎页面。
我需要做什么以特殊方式处理https请求?
注意:该网站可以在https后面成功访问。 例如:如果我直接访问“ https://foo.bar/start/ ”,我会看到预期的页面。
完整的conf文件:
LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
重写引擎
RewriteRule ^ /?$ / start / [R]
ProxyRequestclosures
LogLevel警告
代理服务器http://127.0.0.1:8083/
命令否认,允许
全部允许
/代理
位置/开始/
ProxyPass http://127.0.0.1:8083/
ProxyPassReverse http://127.0.0.1:8083/
/位置
我不认为这是完整的configuration,因为我没有看到SSL虚拟主机的定义。
如果这些语句在默认的服务器configuration中(即不在显式虚拟主机中),则需要将RewriteOptions inherit到SSL虚拟主机定义中。
如果它们位于特定的虚拟主机configuration文件中,则需要(a)将它们移动到默认的服务器configuration中,并在SSL虚拟主机定义中添加RewriteOptions inherit的RewriteOptions inherit ,或者(b)将它们复制到SSL虚拟主机定义中。