Materializing [マテリアライジング]

About Home

キーワードアーカイブへのリンクURLを簡潔にする - mod_rewrite

arata (2006年10月14日 18:42)

以前から挑戦し続けていた「mod_rewrite を用いてURLを簡素化する」ことに成功しました。嬉しい。

仕様サーバーはいつもの、USBメモリに入れて持ち運べる便利サーバーXSAS。
例として「Movabletype」というキーワードを用いてみます。


このキーワード検索結果のページURLが

http://ブログURL/mt/mt-xsearch.cgi?blog_id=1&search_key=Tagwire&search=Movabletype
として表示されるのを、
http://ブログURL/keywords/Movabletype

としてしまうことです。


関連:Tagwire+mt-xsearchでTag Cloudを作成する

前提

MT3.3以降、Tag機能が正式にサポートされたために、このサイトでは「Tag」と「Keywords」を区切ってます。
また、XSASサーバー上ではひらがな・漢字等2byte文字をテストしたところ、キーワード検索結果画面等で文字化けを起こして使えませんでした。
しかし、予想通りXREAサーバーではきちんと使う事が出来ました。
以上を踏まえた上で動作試験。

.htaccess への記述

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^keywords/(.*)$ /mt/mt-xsearch.cgi?blog_id=1&search_key=Tagwire&search=$1 [QSA,L]
</IfModule>

テンプレート修正

<MTEntryTags glue=", ">
<a href="<$MTBlogURL$>keywords/<$MTTag encode_url="1"$>"><$MTTag$></a>
</MTEntryTags>

以上で、XSASローカルサーバーでも mod_rewrite を用いてURLを簡素表記出来ます。
「keywords」の箇所を「tags」なんかに変更すれば、URL表記は
http://ブログURL/tags/Movabletype
に変ります。

余談

これに気付いたのは、Wordpressでパーマネントリンク変更を弄ってる時。

関連:WPをXSASでインストールしてUTF運用失敗

「Options +FollowSymLinks」の追記がなければmod_rewriteが動かないというので、だったらWordpressで生成されるhtaccessをマネマネすれば良いじゃないか!って感じです。
Wordpressが本当に意外なところで役立ちました。


文字化けの件は辛いところです、正直。
なるべくXREAと同様の状態に近づけて、そこでテストをしてから本鯖に導入、という手順を踏んでいるのですが、いかんせんサーバー関連の知識不足(他も・・・)なために、こういった異なる状況が生まれつつあります。。。

見たところ、以前の長いURL記述では、検索結果に2byte文字であってもきちんと出力されて使えているのですね。
ちょっと整理。

変更前mod_rewrite後
XREA
XSAS×

いったいこの違いはどこから来るのかなぁ?と問題の切り分けも出来ずにたたずむばかりです。
mod_rewrite を使用された場合の16進数→HTMLエンコードがちゃんと出来てないってことなのかなぁ?
(´・ω・)=3


[参考記事]

TagwireとMT-XSearchによる動的タグアーカイブ - Ogawa::Memoranda [Ogawa::Memoranda]

mod_rewrite で動的タグアーカイブURLを書き換える - pur*log [pur*log]

Materializing [マテリアライジング]

Materializing [マテリアライジング]

About Back

トラックバック(0)

トラックバックURL: http://www.materializing.net/weblog/mt-tb-270808.cgi/116

Materializing [マテリアライジング]

About This Site

基本的には自分のためのNoteって感じでゆるく運営中。
紹介している情報(サイトやWeb制作、CMS解説など)は、どちらかというと初心者向けです。
このサイト自体をWebに関する実験場として、Webの楽しいところや難しいところなど、伝え遺して行けたらなーと思ってます。


Name
新(arata)
Hobby
Driving,PC,Listening Music
Handling
Webサイト(CMS),Programming(PHP,Java),Webグラフィック
Profile Page URL
http://iddy.jp/profile/materializing/
Twitter
Twitter/arata
Other Info
My Profile by iddy

Create with jQuery, jQTouch.


CLOSE