我有一个运行在444端口上的SSL。 我需要重写所有URL /请求开始https://服务器名称 (这是默认端口443)到https://服务器名称:444 。
我有这样的规则.htaccess:
RewriteCond%{SERVER_PORT} = 443 RewriteRule ^(。*)$ https://% {SERVER_NAME}:444%{REQUEST_URI}
这不起作用。 要检查条件,我改变了条件的端口为RewriteCond %{SERVER_PORT} = 80 ,所有HTTP请求都被强制为HTTPS。
如果我正确理解您的情况,您的问题是%{SERVER_PORT}永远不会等于443,因为您的服务器不在该端口上侦听。 因此,您的RewriteCond %{SERVER_PORT}=443条件将永远不会成立。
事实上,我不认为有可能做你想要的重写,除非你把一个服务器监听端口443只是为了处理最初的传入请求,然后你立即redirect到端口444.但是,如果你这样做,你可能不会打扰redirect; 只是在443处理HTTPS请求。