http://www.jb51.net/p1141.html の形式の URL であれば、$_SERVER['REQUEST_URI'] と $_SERVER[' の値の違いによって解析できます。最も重要なことは、ページが重複して渡されるかどうかです。方向によって $_SERVER['REDIRECT_QUERY_STRING'] と $_SERVER['REDIRECT_URL'] という 2 つのパラメーターが生成されるため、ページが重複しているかどうかを判断するのは非常に簡単です。この 2 つの値の存在を判断するだけで済みますが、これは Apache 環境でのみ有効です。
ISAPI Rewrite環境かどうかを判断するには?
ISAPI Rewrite環境の場合、上記の2つのパラメータ$_SERVER['REDIRECT_QUERY_STRING']と$_SERVER['REDIRECT_URL']は生成されませんが、独自の固有パラメータ$_SERVER['HTTP_X_REWRITE_URL']も生成されます。 ]、このパラメータは ISAPI 環境でのみ生成されるため、このパラメータを使用して現在の URL の形式を決定できます。メソッドは次のとおりです。
コードをコピーします。 コードは次のとおりです。
$isApi = (isset($ _SERVER['HTTP_X_REWRITE_URL']) && strpos($_SERVER['HTTP_X_REWRITE_URL'],'?')) TRUE : FALSE;
現在の URL 表示フォームを判断することで、プログラムがどのように実行されるか、および 301 リダイレクトが必要かどうかを知ることができます。現在の URL が http://www.jb51.net/?=p1141 の場合は、http://www.jb51 への 301 リダイレクトを使用する必要があります。 net/p1141.html、次のように:
コードをコピーします コードは次のとおりです:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http:// www.jb51.net/p1141.html");
次に、リダイレクト後のプログラムのプロセスを実行します。これにより、ページの統一性が確保され、ISAPI と Apache の Rewrite ループ リダイレクトの問題も解決されます。
ISAPIとApacheがリダイレクトされているかどうかを判断します:
ISAPIの使用方法:
コードをコピー コードは次のとおりです:
$_SERVER['HTTP_X_REWRITE_URL']
Apacheの使用法:
コードをコピー コードは次のとおりです:
$_SERVER['REDIRECT_QUERY_STRING'] または $_SERVER['REDIRECT_URL']
$_SERVER の各パラメーターの使用法をマスターしていれば、次のことが可能です。 ISAPI と Apache の Rewrite ループ リダイレクトの問題を簡単に解決します。
http://www.bkjia.com/PHPjc/313568.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313568.html技術記事 http://www.jb51.net/p1141.html の形式の URL であれば、$_SERVER['REQUEST_URI'] と $_SERVER[' の値の違いによって解析できます。 QUERY_STRING'] 最も重要なことは、ページが重複して渡された場合に生成される結果です...