top > ブログのカスタマイズ > mt4iの長い動的URLを短い静的URLに変更してみました
2010年01月19日

mt4iの長い動的URLを短い静的URLに変更してみました

mt4iの方もモバイルサイトマップの作成やXHTML化などいろいろと行ってきました。ですがまだ気になるところが残っています。

それはURL。

http://varitopi.com/m/index.cgi?mode=individual&eid=xxx
みたいにやたらと長く動的なURLになっています。これをどうにかして短く静的なURLにできないかと思い調べてみました。すると、Apacheもしくわ.htaccessでmod_rewriteモジュールで設定できるようです。

Apacheだとレンタルサーバ(私の場合XREA)の設定を変更しないといけないですし、難しそうなので、今回は.htaccessでmod_rewriteモジュールを使ってみました。

以下の内容をテキストにコピーします。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /m/
RewriteRule ^(.*)_([0-9]+)\.html$ index.cgi?mode=$1&eid=$2 [QSA,L]
</IfModule>

これをtest.txtとかの名前で保存して、mt4iのトップディレクトリにアップロードします。そして、test.txtを.htaccessに名前を変更します。

ここまでうまくできたら静的URLでアクセスできるはずなので確認してみて下さい。

http://varitopi.com/m/index.cgi?mode=individual&eid=xxx
↓これでアクセス!
http://varitopi.com/m/individual_xxx.html

ここまで確認出来きたら、静的URLでアクセス出来る様にindex.cgiを修正します。
※念のためバックアップは取っておきましょう。


# 368行目
$row_data{ENTRY_LINK_URL} = $href;

$row_data{ENTRY_LINK_URL} = "individual_".$entry->id.".html";

# 843行目
? '' : "$href&sprtpage=$i&sprtbyte=$sprtbyte";

? '' : "individual_".$eid.".html"."?sprtpage=$i&sprtbyte=$sprtbyte";

# 1029行目
$template->param(NEXT_URL => $href);

$template->param(NEXT_URL => "individual_".$nextid.".html");

# 1035行目
$template->param(PREV_URL => $href);

$template->param(PREV_URL => "individual_".$previd.".html");

# 1277行目
$template->param(BACK_URL => $href);

$template->param(BACK_URL => "individual_".$entry->id.".html");

# 1936行目
$template->param(BACK_URL => $href);

$template->param(BACK_URL => "individual_".$entry->id.".html");

# 2283行目
$template->param(BACK_URL => $href);

$template->param(BACK_URL => "individual_".$entry->id.".html");


ここまでできたら再度確認して見て下さい。SEO的に効果があるのかどうか分かりませんが、GoogleやYahooなどの検索エンジンに対しても動的URLよりは静的URLの方が良いので、このまま運用してみようと思います。

caraldo.netさんを参考にさせてもらいました


このエントリーをはてなブックマークに追加
【みなさんこちらも読んでます】

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)

トラックバックURL

このエントリーのトラックバックURL:
http://varitopi.com/mt-tb.cgi/485