0

によると:毎日のブログのヒント

以下のコードは、次の 2 つのことを行います。

1)wwwを追加(または削除)します。ドメイン内のすべてのページに接頭辞を付けます。

2) 以下のコードは、 http://domain.comバージョンの訪問者をhttp://www.domain.comにリダイレクトします。

私の質問:以下のコードを index.php ページに挿入するだけで、私が取り組んでいる Web サイトのすべてのページで機能する 301 リダイレクトを作成できますか?

<?php
if (substr($_SERVER['HTTP_HOST'],0,3) != 'www') {
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.'.$_SERVER['HTTP_HOST']
.$_SERVER['REQUEST_URI']);
}
?>
4

1 に答える 1

3

私の質問: 以下のコードを index.php ページに挿入するだけで、私が取り組んでいる Web サイトのすべてのページで機能する 301 リダイレクトを作成できますか?

いいえ。これは でのみ機能しhttp://www.example.com/index.php、 では機能しませんhttp://www.example.com/whatever/whatever/file.php。このタスクを実行するには、Apache mod_rewriteを使用することをお勧めします。/.htaccessこれをドキュメントルートファイルに貼り付けることができます。

# Rewrite "example.com -> www.example.com".
<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
  RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

コードはHTML5 Boilerplate の .htaccessから取得されました

于 2012-10-30T20:56:22.273 に答える