我在网络服务器上安装了 Netdata 来获取统计数据。要查看这些数据,我应该使用:http://任何:19999。但是,在我的 Web 服务器上,所有内容都会使用以下命令重定向到 HTTPS:
RewriteEngine On
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
有没有好的办法可以确保指向端口 19999 的任何内容都会转到 HTTP?(而不是一次又一次地重定向到 HTTPS ..)
我猜可以通过在显示 RewriteRule 之前设置一些条件来实现,对吗?但怎么做呢?rewriterules 的手册页让我很困惑,所以欢迎任何帮助!
答案1
您可以添加此代码来重定向使用特定端口的所有服务以使用 HTTP 而不是 HTTPS
RewriteEngine On
RewriteCond %{SERVER_PORT} 19999
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
您也可以使用此代码来过滤其他端口:
RewriteCond %{SERVER_PORT} !19999
这将针对所有不使用 19999 端口的网页运行下一个代码。
答案2
尝试使用重定向反而:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>