0

最初に、mod の書き換えに関しては、緑よりも環境に優しいことをお伝えします。これは通常の動作である可能性がありますが、それを止める方法を探しています。

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

これは私の書き換えルールです。私がこれを行うことを期待しているのは、完全にうまく機能しているURLをマスクしながら、単にserverstatus.phpにリダイレクトすることですが、serverstatus.phpは非sslに強制されます。これを変更することはできず、sslからプロトコルを切り替えますto non-ssl は URL マスキングを破っています。

これがこの1ページだけであれば、私はこれに耐えることができますが、そうではありません. 私は同じ方法でマスクされた他のURLを持っています。セキュアでないものからセキュアなもの、またはその逆をクリックすると、同じ問題が発生します。

例を挙げます。

セキュア ページ -> ネットワーク ステータス/ URL マスキングの失敗 (プロトコル スイッチング)

Network-Status/ -> Network-Status/ URL マスキング機能 (プロトコル スイッチなし)

Network-Status/ -> Secure-page URL マスキングが失敗する (プロトコル スイッチ)

誰かが私を助けてくれるなら、私は再び幸せになるだろう.これは私が研究し、微調整し、さまざまなことを試す2日間の大部分を費やした.最終的には、これは実際にプロトコルスイッチ。

それがオプションである場合、すべての非 SSL 接続に対して SSL へのリダイレクトを強制するだけですが、これはまったくオプションではありません。コーディングが安全でない接続を強制する 3 つの重要な領域があり、それを変更できないため、これらのページがアクセスされるたびに、終わりのないループに陥ります。

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 に答える