htaccess « ウェブデザイナー的ホームページ制作最適化

‘htaccess’ カテゴリーのアーカイブ

PHPを.htmlで動作させる為の.htaccess

2009 年 5 月 12 日 by admin

拡張子が.htmlとなっているファイルでもPHPを動作させることが出来ます。
PHPを使いたい時には、.htaccessファイルに下記を記述して下さい。

AddType application/x-httpd-php .html

.htaccessの最後の行の改行をお忘れなく!!

.htaccessでサブドメインのアクセスを許可して、ドメインでのアクセスを禁止

2008 年 10 月 2 日 by admin

下記のように .htaccessというファイルを使えば、
サブドメインのアクセスを許可して、ドメインでのアクセスを出来ないようにします。

xserverの場合、サブドメインを作るだけだと

http://www.web-nouhau.com/design
http://design.web-nouhau.com
の両方ともアクセスできてしまいます。

これをhttp://design.web-nouhau.comだけアクセスできるようにします。

やり方は以外に簡単で、.htaccessファイルを設置するだけ!!

もし、上記のURLのようにアクセスしたい場合は、

SetEnvIf Host “^design.web-nouhau.com$” host
order deny,allow
deny from all
allow from env=host

というファイルを作ります(htaccess.txt)。

これをFTPでアップロードして、ファイル名を変更(htaccess.txt→.htaccess)すればOK!!
なぜ、アップロードしてからファイル名を変更するかと言うと、
ローカルでは、.htaccessという名前のファイル名が作成できないから。。。

.htaccessで動的URLを静的URLに変換してSEO対策

2008 年 10 月 2 日 by admin

PHPファイルでpage.php?num=○○○という値を渡して、

ネット上でアクセスすると、

どうしても検索エンジンから見ると、動的なURLとなり、インデックスされにくくなります。

(全くされない訳ではないですよ)

これは、SEO対策を考えたとき、

できればクリアしたい問題ですね。。。

そこで、今回は、.htaccess を使って、動的URLを静的URLに変換してみようと思います。

まず確認することは、

使用しているサーバーでは.htaccessファイルを使うことができるかどうか確認が必要です。

そしたら、

【1】.htaccessのファイル作成(ファイル名:htaccess.txt)

【2】htaccess.txtに下記ソースを記述(これで動的URLを静的URLに変換する)

【3】htaccess.txtをサーバーにアップしてファイル名を.htaccessに変換

って感じでOKだと思います。

htaccess.txtの中身

RewriteEngine on

RewriteRule page\-([0-9A-Za-z)]+)\.html$ page.php?num=$1

これは、page-1.htmlというファイルをアクセスしてきたら、

page.php?num=1と同じものを表示するという記述です。

このようにしておけば、検索エンジンからは、

htmlファイルと見なされ、静的URLと検索エンジンは認識します。
例えば、page.phpに

<?php

//GETを取得   page.php?num=$1
$f_num_get = $_GET['num'] ;
$f_num = $f_num_get;

print <<< DOC_END
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”>
<title>.htaccessで動的URLを静的URLに変換してSEO対策</title>
</head>
<body>
DOC_END;

print  “<table border=\”1\” cellspacing=\”0\” cellpadding=\”5\”>\n”;
$list = “list.csv”;
$fp   = fopen($list,”r”);
while($deta= fgets($fp)){
    list($a1,$a2,$a3) = split(”,”, $deta, 3);
    if($f_num == $a1){
        print  “<tr>\n”;
        print  “<td>$a1</td>\n”;
        print  “<td>$a2</td>\n”;
        print  “</tr>\n”;
    }
}
fclose($fp);
print  “</table>\n”;

print <<< DOC_END
</body>
</html>
DOC_END;

?>

を記述して、

list.csvを簡易データベースとして、

1,山田太郎,25歳

2,鈴木次郎,18歳

3,山本仁,35歳

というファイルを作ります。

htaccess.txtを下記のように作りサーバーにアップします。

RewriteEngine on

RewriteRule page\-([0-9A-Za-z)]+)\.html$ page.php?num=$1

すると、

page-1.html にアクセスすると、page.php?num=1と同じ内容が表示されます。

page-2.html にアクセスすると、page.php?num=2と同じ内容が表示されます。

page-3.html にアクセスすると、page.php?num=3と同じ内容が表示されます。

実際に作成したファイルもアップしておくので、見比べて見て下さい。

アップしてあるファイルのディレクトリは、

http://www.web-nouhau.com/htaccess/sample1/

このディレクトリには、

.htaccessと

list.csvと

page.phpとがあります。

.htaccessによって、

http://www.web-nouhau.com/htaccess/sample1/page-1.html

http://www.web-nouhau.com/htaccess/sample1/page.php?num=1

同じものが表示されます。

ちなみに、

http://www.web-nouhau.com/htaccess/sample1/page-2.html

http://www.web-nouhau.com/htaccess/sample1/page.php?num=2

同じものが表示されます。