ちゃだろぐ

computing

< 2009-01 >
    123
45678910
11121314151617
18192021222324
25262728293031
Powered by Nucleus CMS
mySQL error with query SELECT * FROM nucleus_plugin_counter ORDER BY count_time DESC LIMIT 1: Can't open file: 'nucleus_plugin_counter.MYI'. (errno: 145)


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /virtual/tyada/public_html/nucleus/plugins/NP_Counter.php on line 183

三重県北中部
MAX
MIN
0-6
6-12
12-18
18-24
Amazon.co.jp アソシエイト 商品無料仕入れ戦隊『電脳卸』

All

FancyURLsモードで新しいblogをサブディレクトリに置いた場合のitemlink

FancyURLsモードで新しいblogをサブディレクトリに設置すると、デフォルトではテンプレート変数<%itemlink%>の返す値は、
http://www.tyada.com/music/index.php?itemid=253
のようになってFancyURLsしてくれない。できれば、
http://www.tyada.com/music/item/253
でアクセスしたいのが人情ってもんだ。

# と言いつつ、長い間放っていたが。

<%itemlink%>の値を正しくFancyURLsさせるには、/music/index.phpの中の$CONF['Self']の値を以下のように変更する。

$CONF['Self'] = '/music';

もしくは相対パスなら、

$CONF['Self'] = '.';

また、上記のリンクをアクセスすると 404 Error - Not found になってしまうので、サブディレクトリmusicの中に以下のitemファイルを作っておく。

<?

include('../fancyurls.config.php');
include('../config.php');

$data = explode("/",serverVar('PATH_INFO'));
$itemid = intval($data[1]);

selectBlog('music');
selector();

?>

テンプレート変数<%itemlink%>は、/nucleus/libs/globalfunctions.phpのcreateItemLink関数で$CONF['URLMode']の値に従って返されるが、この関数の直前に$CONF['Self']の値が.phpで終わっていたら、FancyURLsモードからNormalモードに戻す以下の処理がある。

// switch URLMode back to normal when $CONF['Self'] ends in .php
// this avoids urls like index.php/item/13/index.php/item/15
if (	($CONF['URLMode'] == 'pathinfo')
	&&	(substr($CONF['Self'], strlen($CONF['Self']) - 4) == '.php')
	) {
	$CONF['URLMode'] = 'normal';
}

サブブログをサブディレクトリに設置すると、$CONF['Self']の値はサブディレクトリ内のindex.phpの中で定義されるが、デフォルト設定では$CONF['Self']の値は'index.php'と'.php'で終わっているため、Normalに戻ってしまう。

かといって、マニュアルの「便利な使い方ヒントの紹介 - Googleなどのサーチエンジンに引っかかりやすくする方法 - Fancy URLモード」の記述のように

同様にindex.phpファイルの$CONF['Self']の値を編集(引用符の中を削除)

してしまうと、<%itemlink%>の返す値は
http://www.tyada.com/item/253
になってしまう。そこで、

$CONF['Self'] = '/music';

とすれば、うまく行く。

2005-05-14_00:37-tyada

Related

Local search for: FancyURLsモードで新しいblogをサブディレクトリに置いた場合のitemlink

No related items.

TrackBack

トラックバック
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.

Comments

_ buy fioricet online

We will definitely be checking in on a regular basis to see how the site is growing.
<a href=http://www.tcnj.edu/~wurpel...>buy fioricet</a>
2007-03-10_21:40

Add Comments

:

:
: