Daily happenings, XHTML, CSS, MT, WP, Web, a memo, etc…

ブログ検索やタグ 検索結果のURLを変更

ブログ検索やタグ検索結果のURLを、直感的に分かりやすいURLに変更してみました。

ブログ検索結果のURLは、

http://www.xxx.com/mt/mt-search.cgi?IncludeBlogs=BlogID&search=検索キーワード

タグ検索のURLは、

http://www.xxx.com/mt/mt-search.cgi?tag=タグ名&blog_id=BlogID

となっており、それぞれ

http://www.xxx.com/search/検索キーワード
http://www.xxx.com/tag/タグ名

に変更します。

Apacheの「mod_rewrite」という機能を利用して、URLを変更しますので、テキストエディタで以下のように作成し(BlogIDは対象となるブログのIDを入力します)、「.htaccess」というファイル名で保存し、ブログのルートディレクトリにアップします。
メモ帳で作成する場合は、「htaccess.txt」で保存し、アップした後に「.htaccess」にファイル名を変更します。

RewriteEngine on
RewriteRule ^search/(.*)$ /mt/mt-search.cgi?IncludeBlogs=BlogID&search=$1
RewriteRule ^tag/(.*)$ /mt/mt-search.cgi?tag=$1&blog_id=BlogID

「.htaccess」の設定が反映されていれば、変更したURL

http://www.xxx.com/search/mt

を直接ブラウザに入力し、正常に検索が実行されるはずです。

動作を確認したら、検索フォームとタグへのリンクを修正します。

検索フォームは、

<form method="get" action="<$MTCGIPath$><$MTSearchScript$>">

を、

<form method="post" action="<$MTBlogURL$>search/">

に修正します。

タグへのリンクは(タグクラウドも含む)、

<a href="<$MTTagSearchLink$>"><$MTTagName$></a>

を、

<a href="<$MTBlogURL$>tag/<$MTTagName encode_url="1"$>"><$MTTagName$></a>

に修正します。