我有一个Apache服务器在不同的端口使用两个SSL域(没有SNI支持),有点像这样:
我有一个重写规则redirecthttp://host2.tld:80到:444(和主机1相同)。 然后是这个问题:
我有一个文件夹“文件夹”host2根。 如果我尝试访问http://host2.tld/folder/ ,一切正常,我最终在https://host2.tld:444 /文件夹/按预期。 现在,如果我inputhttp://host2.tld/folder,apache会将我redirect到http://host2.tld:444 / folder / ,这不存在。
由于从“文件夹”redirect到“文件夹/”是自动完成,我能做些什么来解决我的问题?
<VirtualHost *:80> ServerName host2.tld RewriteEngine On RewriteRule (.*) https://%{HTTP_HOST}:444%{REQUEST_URI} [R=301,L] </VirtualHost>
从您的重写规则中删除L. 该选项表示该规则是“最后”规则,不会再发生重写。
当你到http://host2.tld/folder
它会重写uri来添加斜杠,但不会进一步处理。
您可能还需要/重新添加一个条件来防止每个请求的循环。