ホームページ  >  記事  >  バックエンド開発  >  php はユーザーに www ドメイン名へのリダイレクトを強制します

php はユーザーに www ドメイン名へのリダイレクトを強制します

*文
*文オリジナル
2017-12-28 11:10:052147ブラウズ

この記事では、PHP がユーザーを www ドメイン名に強制的にリダイレクトする方法を主に紹介します。これにより、ヘッド リダイレクトが不可能な場合に 301 リダイレクトをシミュレートしてリンクを出力できます。この記事の例では、PHP がユーザーに www ドメイン名への切り替えを強制する方法について説明します。皆さんの参考に共有してください。

具体的な分析は次のとおりです:

Web サイトの www ドメイン名と非 www ドメイン名が Web サイトにアクセスできる場合がありますが、これは検索エンジンの組み込みには役に立たず、Web ページの重みが分散されます。したがって、www 以外のドメイン名にアクセスするときは、ユーザーが常に 301 を渡すようにしてください。たとえば、ユーザーが php.cn にアクセスすると、この PHP に直接リダイレクトされます。コードは、ヘッド経由でリダイレクトできない状況を考慮し、ユーザーがクリックできるリンクをページ上に出力します。


// Install info.:
// Copy and paste these lines into your default index.php or
// the file that get's called if a visitor comes on your 
// website...
// read the host from the server environment
$host = $_SERVER["HTTP_HOST"];
// fix host name - we never now... ;-)
$host = strtolower($host);
$host = trim($host);
// This is important: 
// Webbrowsers like Firefox are doing their request without
// the port number like "www.php.cn" but some other 
// applications send host names like "www.php.cn:80" 
$host = str_replace(':80', '', $host);
$host = trim($host);
// if the host is not starting with www. redirect the 
// user to the same URL but with www :-)
if ($host != 'www.php.cn'){
  // You an also change the "!=" to "==", if you want to force 
  // the user to use the domain name without the www. 
  // send status header, so that search engines or other services
  // detect that this is a permanent redirect and not a temporary
  header('HTTP/1.1 301 Moved Permanently');
  // read the URL the user requested:
  $url = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : '';
  // redirect the user to the new destination:
  header('Location: http://www.php.cn' . $url);
  // Convert "special" chars -- cause we never now... ;-)
  $url = htmlspecialchars($url);
  // "fallback" link, if the browser is not supporting header redirects
  print &#39;<a href="http://www.php.cn&#39; . $url.&#39;">Please click here</a>&#39;;
  // stop the script execution here
  exit;
}
// If the domain is www.php.cn then go on with your PHP code 
// of with your website...
// BTW: You need to replace php.cn trough your own domain :-D

関連する推奨事項:

PHPリダイレクトの詳細な分析(非常に便利)

php ジャンプページのいくつかの実装方法のサンプルコード

phpジャンプTransfer関数で現在のページのURLアドレスを取得します

以上がphp はユーザーに www ドメイン名へのリダイレクトを強制しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。