Home > OpenSource > Xoops

Xoops Archive

XOOPSサイトの長いアドレスをすっきり短く整形する

*必須環境 : .htaccessとmod_rewriteが使用できる事

htaccessに下記の項目を追加

RewriteEngine on
RewriteRule ^news/(.*)$ /modules/news/$1 [L]
RewriteRule ^photo/(.*)$ /modules/myalbum/$1 [L]
RewriteRule ^comment/(.*)$ /modules/BopComments/$1 [L]
RewriteRule ^minibbs/(.*)$ /modules/x_comment/$1 [L]
RewriteRule ^bbs/(.*)$ /modules/bluesbb/$1 [L]
RewriteRule ^forum/(.*)$ /modules/newbb/$1 [L]
RewriteRule ^members/(.*)$ /modules/xoopsmembers/$1 [L]
RewriteRule ^sitemap/(.*)$ /modules/sitemap/$1 [L]

mainfile.phpに下記の項目を追加(ファイル先頭の

$GLOBALS['_rewriteRulesFrom'] = array(
‘/news/’,
‘/photo/’,
‘/comment/’,
‘/minibbs/’,
‘/bbs/’,
‘/forum/’,
‘/members/’,
‘/sitemap/’,
);
$GLOBALS['_rewriteRulesTo'] = array(
‘/modules/news/’,
‘/modules/myalbum/’,
‘/modules/BopComments/’,
‘/modules/x_comment/’,
‘/modules/bluesbb/’,
‘/modules/xoopsmembers/’,
‘/modules/sitemap/’,
);

$GLOBALS['_abs_offset'] = preg_replace(‘/https?:¥/¥/’.$_SERVER["HTTP_HOST"].’/',”,XOOPS_URL);
$GLOBALS['_rewriteRulesTo1'] = preg_replace(‘/^(.*)$/e’,'”!(‘.XOOPS_URL.’|¥”".$GLOBALS["_abs_offset"].”|¥’”.$GLOBALS["_abs_offset"].”)”.preg_quote(“¥1″,”!”).”!”‘, $GLOBALS['_rewriteRulesTo']);
$GLOBALS['_rewriteRulesFrom1'] = preg_replace(‘/^(.*)$/’,'¥¥¥1¥1′,$GLOBALS['_rewriteRulesFrom']);

function modules_changer( $s ) {
$s = preg_replace($GLOBALS['_rewriteRulesTo1'],$GLOBALS['_rewriteRulesFrom1'], $s);
for($i=0; $i
$s = preg_replace( ‘/(‘.preg_quote(XOOPS_URL,’/').’|”|¥’)’.preg_quote($GLOBALS['_rewriteRulesTo'][$i],’/').’/’ , “¥¥1″.$GLOBALS['_rewriteRulesFrom'][$i] , $s ) ;
}
return $s;
}
if (empty($_SERVER['REDIRECT_URL']) || ($_SERVER['REDIRECT_URL'] == $_SERVER['REQUEST_URI'])) {
if (empty($_SERVER['REDIRECT_REDIRECT_STATUS'])) {
if (($_changer_url=modules_changer(‘”‘.$_SERVER['REQUEST_URI'].’”‘)) != ‘”‘.$_SERVER['REQUEST_URI'].’”‘) {
//if request url is old url redirect to new
header(‘Location: ‘ . str_replace(‘”‘,”,$_changer_url));
}
}
}
$_SERVER['REQUEST_URI'] = str_replace( $GLOBALS['_rewriteRulesFrom'],$GLOBALS['_rewriteRulesTo'], @$_SERVER['REQUEST_URI'] ) ;
$_SERVER['HTTP_REFERER'] = str_replace($GLOBALS['_rewriteRulesFrom'], $GLOBALS['_rewriteRulesTo'], @$_SERVER['HTTP_REFERER'] ) ;

ob_start( ‘modules_changer’ ) ;

モジュール名及びそれに対応する書き換えたいディレクトリ名はそれぞれ変更すること。
このハックは別ページのディレクトリを参考にしたのでこういう設定になります。

タグ: , ,
  • Comments (Close): 0
  • Trackbacks (Close): 0

Xoops – その他コミュニティー

XUGJ(ザグジェイ)
http://www.xugj.org/
ひよこむ
http://hiyokosan.com/
うさぎにもできるXOOPS Cube入門
http://usadeki.jp/
タグ: , ,
  • Comments (Close): 0
  • Trackbacks (Close): 0

Xoops Cube オフィシャルサイト

http://xoopscube.sourceforge.net/ja/

xoops-cube-official_1230816109724

このウェブサイトは XOOPS Cube プロジェクトが日本語向けに作成しているウェブサイトです。プロジェクトは開発に特化し、コミュニティを直接管理せず、各国のローカルコミュニティにそれぞれの目的にあわせたコミュニティ活動をお願いしています。このウェブサイトは、 XOOPS Cube のユーザーや開発者の皆さんへ、各コミュニティや情報源を紹介したり、既成のドキュメントやマニュアルの所在を知っていただくために作成した日本における XOOPS Cube のハブサイトです。

タグ: , ,
  • Comments (Close): 0
  • Trackbacks (Close): 0

XOOPS Cube日本サイト

http://jp.xoops.org/

xoops-cube_1230815826499

XOOPS Cubeはコミュニティポータル構築用のオープンソースアプリケーションです。XOOPS Cubeを使うことで、個人ホームページから本格的なコミュニティサイトまで、幅広いジャンルのウェブサイトを手軽に構築することができます。

タグ: , ,
  • Comments (Close): 0
  • Trackbacks (Close): 0