NP_Permalink|導入まとめ
NP_Permalink|導入まとめ
- Author : pushman|Nucleus|2005-11-25 Fri 09:05
-
dj k!ng さん作の、個別アイテムページの URI を変更するプラグイン「NP_Permalink」導入のまとめ。
Magical URI 使用時
.htaccess へ以下を追記
RewriteRule ^nucleus/([-a-zA-Z0-9_]+)\.html$ index.php?itemid=$1「^nucleus」部分は、対応するカテゴリー名。サイトの直下に指定した方が、後の修正が楽。
すでに
RewriteRule ^item_([0-9]+).html+ index.php?catid=$1を記述している場合はこれを削除*1し「Redirect permanent」を利用する。
記述例:Redirect permanent /item_1.html http://blog.heartfield-web.com/column/heartfield_again.htmlFancy URI の時も似たような修正が必要っぽい。通常使用だと別に必要なさそう。
コメントフォームの修正
コメント送信後、戻り先の URI がおかしくなるので、これを修正。「nucleus/forms」内の
commentform-loggedin.template
commentform-notloggedin.template
の<%formdata(destinationurl)%>を
./<%Permalink(name)%>.htmlと修正。
トラックバック対応
トラックバックを打った先へ送信する URI は「nucleus/libs/globalfunctions.php」内の「function createItemLink」内で行っているので、ここに以下を追記。
function createItemLink($itemid, $extra = '') { global $CONF; //From NP_Permalink $result = sql_query('SELECT name FROM ' . sql_table('plugin_permalink') . ' WHERE (itemid = ' . intval($itemid) . ')'); if (mysql_num_rows($result) > 0) { $object = mysql_fetch_object($result); $name = $object->name; } //From NP_Permalink // From NP_CatDesc $query = "SELECT cname " . "FROM ".sql_table('item').", ".sql_table('category')." " . "WHERE icat=catid " . "AND inumber=$itemid"; $results = mysql_query($query); $row = mysql_fetch_assoc($results); $cname = $row['cname']; // From NP_CatDesc if ($CONF['URLMode'] == 'pathinfo') $link = $CONF['ItemURL'] . '/' . $cname . '/' . $name . '.html'; else $link = $CONF['ItemURL'] . '?itemid=' . $itemid; return addLinkParams($link, $extra); }個別アイテムページを、各カテゴリーごとのディレクトリに分けていない場合「From NP_CatDesc」内は不要。なので、前述したようにカテゴリーごとに分けない方が楽。
- *1:削除しないと、リダイレクト先の URI の末尾に不要なアドレスが付加されます。
-
-
Tag(s): NP_Permalink / コア改造

