リダイレクト | memo-memo Skip to content

memo-memo

web制作に便利そうな情報をメモるブログ

Archive

Tag: リダイレクト

以前の記事で、ページをリダイレクトさせる方法を挑戦したけど、今回は、phpを使ってページをリダイレクトさせてみました。コードは、以下の通りです。

<?php
header("HTTP/1.0 404 Not Found");
header("Location: http://hoge.net/");
?>

こんな感じで記述すればとりあえずリダイレクト出来ました。

2行目の青字で書かれている部分に、リダイレクトしたいURLを記述します。

で、1行目の赤字で書かれている部分は、ステータスコード404を返している…らしい……(ここは若干不安です)。

注意しなきゃならない点として、このコードは、何かを出力する前に書かなきゃならないらしいです。

様は、

<html>
<?php
header("HTTP/1.0 404 Not Found");
header("Location: http://hoge.net/");
?>

こんな感じに、htmlを出力してから書くとエラーになるらしいです。

header()については、こちらに詳しくかいてあります。

ステータスコードに関しては、こちら

試してみました。

以前まで、www.ドメインで、運営していたサイトを、sub.ドメインにリダイレクトさせる方法。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.test\.com
RewriteRule ^(.*)$ http://sub.test.com/$1 [R=301,L]

以前書いた、wwwありなしの統一と、ほとんど同じで良いっぽい。

.htaccessを使って、リダイレクトさせる。

wwwありに統一させるには、以下を、.htaccessに記述

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc\.com
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]

wwwなしに統一させるには、以下を、.htaccessに記述

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.abc\.com
RewriteRule ^(.*)$ http://abc.com/$1 [R=301,L]

赤字の部分(この場合、abccom)は、その時に使うドメイン名に直して記述する。