質問箱/2535
の編集
Top
/
質問箱
/
2535
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
**[[質問箱/2535]] [#b3963f1f] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|URLによってスキンを振り分けたい| |~バージョン|1.4.4_php5| |~投稿者|[[tomix]]| |~状態|完了| |~投稿日|&new{2005-01-13 (木) 19:42:26};| ***質問 [#t0862cc5] 既出だったらすみません。 URL(またはサブドメイン)でスキンを振り分けることは可能でしょうか? たとえば www.hoge.jp では編集等の機能が隠れているスキン edit.hoge.jp、www.hoge.jp/editer.php, www.hoge.jp/staff/では通常のスキンと振り分けて後者に認証をかけたいです。 ようするに[[ここ>http://www.zend.co.jp/tech/index.php?Top]]のような外向けサイトをつくって、内の人のみ編集可能としたいわけなんです。 www.hoge.jp/staff/とした場合で、staffにBasic認証かけたとき、サーバーのBasic認証とWiki側の編集認証と2回認証を要求されると思うのですが、それを1回にすることもできるでしょうか ***回答 [#l7efa84d] -単にスキンをアクセスされるURL毎に切替えるだけなら簡単にできます。 例えば、default.ini.phpのSKIN_FILEを定義する部分を改造するとか。 ///////////////////////////////////////////////// // スキンファイルの場所 -define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'pukiwiki.skin.' . LANG . '.php'); +define('SKIN_FILE', DATA_HOME . SKIN_DIR . $_SERVER['SERVER_NAME'] . '.php'); こうすれば、ホストに応じて(DATA_HOMEやSKIN_DIRが標準のままなら)skin/www.hoge.jp.phpやskin/edit.hoge.jp.phpがスキンとして用いられる ようになります。 複数のスキンを管理するのが面倒なら、スキンの中に$_SERVER['SERVER_NAME']や$_SERVER['REQUEST_URI']等で判別して、お好みの項目の 表示/非表示を制御するという手でも良いでしょう。 但し、スキンから編集のリンクを隠したところで、実際にプラグインがあり、 そしてそこに何らかの制限がかかっていない限り、機能そのものを 殺せている訳ではないことはお忘れなく。 サーバが同一なら、DATA_DIR等は共有、外向け側のPLUGIN_DIRからはedit類を削除した、複数のPukiWikiを設置するというのも一案かと思います。 また、認証についてですが、PukiWikiの認証はBASIC認証なので、2回要求されることはないと思いますが。 -- &new{2005-01-13 (木) 21:32:39}; -なるほど! 「DATA_DIR等は共有、外向け側のPLUGIN_DIRからはedit類を削除」は確かにその手がありました。1.4.4から分離もしやすいことだし! スキンだけで対処しようと考えていましたが、たしかにプラグインへのアクセスが可能だと、URLで直接引っ張っちゃった時に対応できませんものね。DATA_DIRを共有、PLUGIN_DIR+スキンは個別という設置方法をまずはためしてみます。! -- [[tomix]] &new{2005-01-14 (金) 14:42:34}; -なかなか面白い対応方法ですね :) -- [[teanan]] &new{2005-01-14 (金) 16:20:12}; #comment
**[[質問箱/2535]] [#b3963f1f] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|URLによってスキンを振り分けたい| |~バージョン|1.4.4_php5| |~投稿者|[[tomix]]| |~状態|完了| |~投稿日|&new{2005-01-13 (木) 19:42:26};| ***質問 [#t0862cc5] 既出だったらすみません。 URL(またはサブドメイン)でスキンを振り分けることは可能でしょうか? たとえば www.hoge.jp では編集等の機能が隠れているスキン edit.hoge.jp、www.hoge.jp/editer.php, www.hoge.jp/staff/では通常のスキンと振り分けて後者に認証をかけたいです。 ようするに[[ここ>http://www.zend.co.jp/tech/index.php?Top]]のような外向けサイトをつくって、内の人のみ編集可能としたいわけなんです。 www.hoge.jp/staff/とした場合で、staffにBasic認証かけたとき、サーバーのBasic認証とWiki側の編集認証と2回認証を要求されると思うのですが、それを1回にすることもできるでしょうか ***回答 [#l7efa84d] -単にスキンをアクセスされるURL毎に切替えるだけなら簡単にできます。 例えば、default.ini.phpのSKIN_FILEを定義する部分を改造するとか。 ///////////////////////////////////////////////// // スキンファイルの場所 -define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'pukiwiki.skin.' . LANG . '.php'); +define('SKIN_FILE', DATA_HOME . SKIN_DIR . $_SERVER['SERVER_NAME'] . '.php'); こうすれば、ホストに応じて(DATA_HOMEやSKIN_DIRが標準のままなら)skin/www.hoge.jp.phpやskin/edit.hoge.jp.phpがスキンとして用いられる ようになります。 複数のスキンを管理するのが面倒なら、スキンの中に$_SERVER['SERVER_NAME']や$_SERVER['REQUEST_URI']等で判別して、お好みの項目の 表示/非表示を制御するという手でも良いでしょう。 但し、スキンから編集のリンクを隠したところで、実際にプラグインがあり、 そしてそこに何らかの制限がかかっていない限り、機能そのものを 殺せている訳ではないことはお忘れなく。 サーバが同一なら、DATA_DIR等は共有、外向け側のPLUGIN_DIRからはedit類を削除した、複数のPukiWikiを設置するというのも一案かと思います。 また、認証についてですが、PukiWikiの認証はBASIC認証なので、2回要求されることはないと思いますが。 -- &new{2005-01-13 (木) 21:32:39}; -なるほど! 「DATA_DIR等は共有、外向け側のPLUGIN_DIRからはedit類を削除」は確かにその手がありました。1.4.4から分離もしやすいことだし! スキンだけで対処しようと考えていましたが、たしかにプラグインへのアクセスが可能だと、URLで直接引っ張っちゃった時に対応できませんものね。DATA_DIRを共有、PLUGIN_DIR+スキンは個別という設置方法をまずはためしてみます。! -- [[tomix]] &new{2005-01-14 (金) 14:42:34}; -なかなか面白い対応方法ですね :) -- [[teanan]] &new{2005-01-14 (金) 16:20:12}; #comment
テキスト整形のルールを表示する