最新の投稿-WordPress |
- 2004-6-20
- 2004-4-25
- 2004-4-22
- 2004-4-18
|
最新の投稿-雑記 |
- 2004-5-20
- 2004-3-24
- 2004-2-23
- 2004-2-21
|

Powered by XOOPS Cube Legacy 2.1.8
PukiWikiMod 1.5.1
WordPress Module 0.6.0 Alpha
|
|
rewrite置換定義について
投稿者:
pocopen
投稿日:2005/11/02(Wed) 05:58
No.2164 |
|
|
 |
お世話になっております。 GIJOEさんのサイトで、xoops隠蔽(w)について投稿なさっていた内容につきまして .htaccessの記述方法をお教えいただけますでしょうか? 一応GIJOEさんのコードでの動作を確認しています。
mainfile.phpに
$GLOBALS['_rewriteRulesFrom'] = array( '/whatsnew/', '/main.css', '/include/mains.js'); $GLOBALS['_rewriteRulesTo'] = array( '/modules/news/', '/xoops.css', '/include/xoops.js');
とし、.htaccessへ
#----- RewriteEngine on RewriteRule ^whatsnew/(.*)$ modules/news$1 [L] RewriteRule ^main.css$ modules/xoops.css$1 [L] RewriteRule ^include/xoops.js$ include/main.js$1 [L] #-----
等単語を前後入れ替えながら試しているのですが ウマく反映がされません。この部分についてご教授いただけますでしょうか?
なお、この件についてGIJOEさんのサイトとでマルチポストに なっております。(あとで対応致します。)m(__)m
|
|
Re: rewrite置換定義について
投稿者:
のぶのぶ
投稿日:2005/11/02(Wed) 13:06
No.2167 |
|
|
|
 |
GIJOEさんのところで投稿したものは、mainfile.phpでの書換方法をかなり修正しています。 現在、あるサイトで、mainfile.php内に追加したコードは、
$GLOBALS['_rewriteRulesFrom'] = array(
'/whatsnew/',
'/info/profile.html',
'/info/works.html',
'/info/lesson.html',
'/topics/index.html',
'/info/',
'/diary/',
'/contents/',
'/gallery/',
'/contact_form1.html',
'/contact_form2.html',
'/main.css',
'/include/main.js',
);
$GLOBALS['_rewriteRulesTo'] = array(
'/modules/news/',
'/modules/tinycontent/pages/tc_2.html',
'/modules/tinycontent/pages/tc_3.html',
'/modules/tinycontent/pages/tc_1.html',
'/modules/tinycontent/pages/tc_15.html',
'/modules/tinycontent/',
'/modules/wordpress/',
'/modules/pukiwiki/',
'/modules/myalbum/',
'/modules/formmail/?id_form=1',
'/modules/formmail/?id_form=2',
'/xoops.css',
'/include/xoops.js',
);
$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<count($GLOBALS['_rewriteRulesFrom']); $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' ) ;
で、.htaccessの内容は、
RewriteRule ^whatsnew/(.*)$ /modules/news/$1 [L]
RewriteRule ^info/profile.html(.*)$ /modules/tinycontent/pages/tc_2.html$1 [L]
RewriteRule ^info/works.html(.*)$ /modules/tinycontent/pages/tc_3.html$1 [L]
RewriteRule ^info/lesson.html(.*)$ /modules/tinycontent/pages/tc_1.html$1 [L]
RewriteRule ^topics/index.html(.*)$ /modules/tinycontent/pages/tc_15.html$1 [L]
RewriteRule ^info/(.*)$ /modules/tinycontent/$1 [L]
RewriteRule ^diary/(.*)$ /modules/wordpress/$1 [L]
RewriteRule ^contents/(.*)$ /modules/pukiwiki/$1 [L]
RewriteRule ^gallery/(.*)$ /modules/myalbum/$1 [L]
RewriteRule ^contact_form1.html(.*)$ /modules/formmail/index.php?id_form=1$1 [L]
RewriteRule ^contact_form2.html(.*)$ /modules/expired/index.php [L]
RewriteRule ^main.css$ /xoops.css [L]
RewriteRule ^include/main.js$ /include/xoops.js [L]
となっています。 ご参考まで! |
|
Re[2]: rewrite置換定義について
投稿者:
pocopen
投稿日:2005/11/03(Thu) 07:00
No.2168 |
|
|
|
 |
引用: のぶのぶさんは書きました: GIJOEさんのところで投稿したものは、mainfile.phpでの書換方法をかなり修正しています。
単純な内容ではなかったのですね。
早速ためしてみます。お手数をおかけしました。 ありがとうございました。m(__)m |
|
Re[3]: rewrite置換定義について
投稿者:
taka
投稿日:2006/08/09(Wed) 14:24
No.3063 |
|
|
|
 |
こちらの記事を参考に、mainfile.php、.htaccessをアップしたのですが、 「modules/」なしのURLでページを表示させることができません。 何か他に設定する必要があるのでしょうか? サーバーはXREAを使用しています。
初心者の質問で申し訳ございません。。 |
|
Re[4]: rewrite置換定義について
投稿者:
taka
投稿日:2006/08/23(Wed) 13:59
No.3107 |
|
|
|
 |
自己レスです。
「modules/」の部分を「http://〜」から記載すると表示されるようになりました。
ただxoopspollで投票すると、「投票を受け付けました。」と表示されるのですが、 票数が反映されなくなってしまいました。
どうすれば再度カウントされるようになるのでしょうか??  |
|
Re[5]: rewrite置換定義について
投稿者:
NobuNobu
投稿日:2006/08/23(Wed) 14:34
No.3111 |
|
|
|
 |
引用: ただxoopspollで投票すると、「投票を受け付けました。」と表示されるのですが、 票数が反映されなくなってしまいました。
どうすれば再度カウントされるようになるのでしょうか?? 
このURLの書換方法って、モジュールの作りによってかなり影響を受ける部分があります。 若干違う実装方法で、http://www.nobunobu.com も URLの書換を行っていますが、 これとても、かなりの試行錯誤の産物です。 というこよで、各モジュールについて、逐一当方で検証する事も出来ませんし、 この方法についてはPHP,Apacheについて自分で解決が出来るスキルを持っている方以外は、使用をお奨めできないというのが正直なところです。
もしPHPのスキルをお持ちであるならば、XOOPSPOLLの投票に相当するリクエストが、PHP側でどのように受け付けられて、どのような処理が実行されているかを地道に追いかけていく以外、解決の方法は無いと考えます。 |
|
このプログラムは KENT 氏の yybbs を xoops(PHP) に移植したものです
- KENT -
|