PHP リダイレクト用に Windows/IIS サーバー上の現在のページ URL を取得する
WordPress インストールが Windows 上の新しいフォルダーに移行されるシナリオでは、/ IIS サーバーでは、PHP で 301 リダイレクトを設定すると、URL の特定のセグメントをキャプチャする際に課題が発生します。この記事では、この問題を調査し、目的の URL 部分を取得するための解決策を提供します。
問題: 空の文字列と切り捨てられた値
$ の使用など、一般的に推奨される解決策_SERVER["REQUEST_URI"]、IIS サーバーでは空の文字列が返されます。同様に、$_SERVER["PHP_SELF"] は "index.php" のみを返し、URL の重要な "/post-title/" セグメントを省略します。
解決策: $_SERVER['PATH_INFO] を利用する']
IIS サーバーは、この問題を効果的に解決する代替変数 $_SERVER['PATH_INFO'] を提供します。この変数は、サーバーのインストールされたルート ディレクトリを基準とした、要求されたリソースのパスを取得します。
この例では、URL は "/OLD_FOLDER/index.php/post-title/" の形式に従います。$_SERVER['PATH_INFO '] は「/post-title/」となります。この値は、目的のリダイレクト パスを構築するために利用できます。
結論
IIS 環境で $_SERVER['PATH_INFO'] を活用することで、開発者は、 301 リダイレクトに必要な URL セグメント。Web サイトのシームレスな移行と古い URL から新しい URL へのトラフィックの適切なリダイレクトを保証します。
以上がPHP を使用して Windows/IIS サーバー上の 301 リダイレクトの特定の URL セグメントをキャプチャする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。