0

首先让我告诉你,当涉及到 mod 重写时,我比绿色更环保,这可能是正常的行为,但我正在寻找一种方法来阻止它。

RewriteRule ^Network-Status/$ ./serverstatus.php [L,NC]

这是我的重写规则,我希望这样做只是重定向到 serverstatus.php,同时仍然掩盖它做得很好的 url,但是 serverstatus.php 被强制非 ssl 我不能改变这个和从 ssl 的协议切换到非 ssl 正在破坏 url 屏蔽。

如果它只是在这一页上,我可以忍受这个,但它不是。我有其他网址以同样的方式被屏蔽,有些不安全。当我从不安全单击到安全时,反之亦然,我看到同样的问题出现了。

我会给你一个例子。

安全页面 -> 网络状态/ URL 屏蔽失败(协议切换)

Network-Status/ -> Network-Status/ URL 屏蔽工作(无协议切换)

网络状态/ -> 安全页面 URL 屏蔽失败(协议切换)

如果有人可以帮助我,我会再次成为一个快乐的人,这花了我两天时间研究、调整和尝试不同事物的最好部分,最后我只能得出结论,这确实是协议交换机。

如果这是一个选项,我会简单地为所有非 SSL 连接强制重定向到 SSL,但这根本不是可选的,有三个关键区域的编码强制连接不安全,我无法更改它,所以每当访问这些页面时,我以永无止境的循环结束。

4

1 回答 1

1

如果您必须将Network-Status( serverstatus.php) 请求为 HTTP,您可以先自己强制执行此操作

RewriteCond %{HTTPS} on
RewriteRule ^Network-Status/$ http://%{HTTP_HOST}/$0 [R,L,NC]

然后再进行重写

RewriteRule ^Network-Status/$ /serverstatus.php [L,NC]

您也可以对其他页面从非安全到安全执行相同的操作。

RewriteCond %{HTTPS} !on
RewriteRule ^other-page$ https//%{HTTP_HOST}/$0 [R,L,NC]
RewriteRule ^other-page$ /otherscript.php [L,NC]
于 2013-03-18T23:44:26.717 回答