最初は、書き換え規則でphpサフィックスのURLが直接アクセスされるのを無効にしたいと思いました。しかし、後で書き換え規則が再帰的に呼び出されることがわかりました書き換え規則で直接phpを禁止すると、phpファイルに書き換えられた規則も無効になります。 RewriteEngineOn
RewriteRule ^ test $ /test.php [L]
RewriteRule ^ test.php $$ 0 [F、L]
再帰呼び出し最初はひどいです。 URLリダイレクトは/testにアクセスするときに一度チェックされ、^ test $と一致すると内部的に/test.phpにリダイレクトされますが、内部リダイレクトもURLの書き換えを引き起こすので、再度チェックして^ test.php $と一致させます。直接操作することを余儀なくされたため[F](禁止)、403エラーとなりました。この場合は、サーバーからリダイレクトされたかどうかを判断する必要があります。現時点では使用できるサーバー変数にREDIRECT_URLがあるので、これを使用して判断を試みました。
RewriteEngineOn
RewriteRule ^ test $ /test.php [L]
RewriteCond%{REDIRECT_URL} ^ $
RewriteRule。* $ 0 [F、この書き込みアクセス/テストはまだ403、ちょっとしたチェックですが、RewriteCond%{REDIRECT_URL}は常に空であることがわかり、これは面倒なので、書き換え規則でphpを直接禁止する方法はありません。しかし、それはより安価な方法で行うことができます。これはphpファイルでREDIRECT_URLを判断するためのものですが、この方法は実装できますが、非常に劣っているように感じますが、これまでのところこれ以上の方法はありません。
$ _SERVER ['REDIRECT_URL'] ordie( 'Forbidden');
//これは単なるテキストの表示であり、実際に使用したときに出力されるHTTPエラーコードです。
echo $ _SERVER ['REDIRECT_URL']; //表示情報に正常にアクセスします。
?>
このPHPコードをグローバル参照に入れて変更します。問題はありませんが、それは完璧な解決策ではありませんが、少なくとも解決されているものです。
zh-CN"],null,[1],zh-TW"]]]
を基にしたサーバークラスタの設定 クラスタとは何ですか? クラスタは、ネットワークを介してプロセス間で通信する疎結合マルチプロセッサシステムを形成する独立したコンピュータシステムのグループです。ア
スタンドアロンホスト/VPS IISおよびMYSQLの停止および開始方法 IISサービスの開始および停止: [スタート] - [ファイル名を指定して実行]をクリックします。 IISの制御を達成する
Windows Server 2008の組み込みHyper-Vを使用すると、ITスタッフはサーバー上で仮想マシンの構築を開始し、実際に仮想化IT環境をテストできます。ソフトウェアには、有名なVMwar
でWebサーバーにアクセスする2006年、インターネット上のワールドカップを除く最も人気のある中国語ドメイン名。マイクロソフトがIE7.0が完全に中国のドメイン名をサポートするというニュースを発表した