動的ページのURLを静的ページのURLのようにする
動的にページを生成すると、?や=がURLに入り、SEO的にはかなり不利になる。そこで動的URLを、静的URLかのようにみせかける。
Apacheに標準でついている、特定のURLを別のURLに読み替えて表示対象のページを引っ張ってくる(mod_rewrite)モジュールを使う方法と、PATH_INFOを使う2つの方法がある。
※何が書いてあるのか全然わかんないですけど、忘れないために記録しておきます。
※このページは、おもいっきしhttp://exam.su-jine.com/を参考にしています。
●mod_rewriteを使う
<.htaccess>
1 行目はディレクトリへのアクセスがあれば、mod_rewrite.php にアクセスように指定。
2 行目は mod_rewrite を有効化。
3, 4 行目はファイルが存在していれば何もしない。
5 行目の書式に従い変換。
DirectoryIndex mod_rewrite.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$
mod_rewrite.php?var1=$1&var2=$2 [L]
<mod_rewrite.php >
mod_rewrite.php ファイルに、下記のように記述。
<?php
echo “引数は「$_GET[’var1′]」と「\_GET[’var2′]」です。”;
?>
引数は「mod」と「rewrite」
●PATH_INFOを使う
<.htaccess >
これは、path_info.php と言うファイルを path_info というファイルにし、拡張子なしのファイルを PHP
として動かすという記述である。
<FilesMatch “^path_info$”>
ForceType application/x-httpd-php
</FilesMatch>
<path_info>
path_info ファイルに、下記のように記述する。
1 行目で PATH_INFO 環境変数を $query 変数に格納。
2 行目で “/” と “.” で分解。分解した結果を $var 変数に格納。
3 行目で表示
<?php
$query = getenv (”PATH_INFO”);
$var = split (”[/\.]”, $query);
echo “引数は「$var[1]」と「$var[2]」です。”;
?>
引数は「path」と「info」

コメントをどうぞ