ホーム > フォーラム > 質問箱 > XCL2.1.7 > 管理画面にログインできなくなりました!!(Plugg導入済)

管理画面にログインできなくなりました!!(Plugg導入済)
投稿者: lemon-s | 投稿日時: 2010/5/3 2:54 | 閲覧: 6884回
lemon-s

突然管理画面にログインできなくなりました・・・
http://サイトアドレス/user/login?return=1
http://サイトアドレス/user/register
などにアクセスすると500エラーになります。

Plugg導入済のため、
http://サイトアドレス/user.phpや
http://サイトアドレス/admin.phpに
アクセスしても
http://サイトアドレス/user/login
にリダイレクトされてしまいます。

Pluggのプラグインのxiggや
プロフページなどにはアクセスできます。
http://サイトアドレス/xigg/1
http://サイトアドレス/user/1

Pluggの設定でmod_rewriteを有効にしていました。
対応する.htaccessも設置しています。
もちろんサーバのmod_rewriteは有効です。

.htaccessを削除してもリダイレクトは
効いていて404エラーになります。
ローカルにログインフォームを作っても
リダイレクトしてダメでした。

強制的にログインできる方法はないでしょうか??

これまでずっと管理者でログイン状態だったので
この問題に気がつきませんでした。
ブロックが違うのか、ゲスト権限に問題が
あるのか分かりませんが、困っています・・・

よろしくお願いいたします。

.htaccessの内容↓
-----
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ modules/Plugg/index.php?q=/$1 [E=REQUEST_URI:/modules/Plugg/index.php?q=/$1,L,QSA]
-----
環境↓
XOOPS Cube Legacy(JP2.0からアップ)
php 5.2.8、MySQL 4系
タグ:

コメント(4)

Re: 管理画面にログインできなくなりました!!(Plugg導入済) 
投稿者: onokazu | 投稿日時: 2010/5/3 10:53
onokazu

とりあえずですが、mod_rewriteを強制的に無効にするにはxoops_trust_path/modules/Plugg/pear/Plugg.phpの
114-120行目辺りの下記部分をコメントアウトしていただく必要があります。


        // Set mod_rewrite options if enabled
        if (@$this->_config->get('modRewrite') &&
            ($format = $this->_config->get('modRewriteFormat'))
        ) {
            $this->_url->useModRewrite(true)
                ->setModRewrite($format, $this->_url->getBaseUrl() . '/' . $this->_url->getScriptAlias('main'));
        }


を下記のように変更してください。


        // Set mod_rewrite options if enabled
        //if (@$this->_config->get('modRewrite') &&
        //    ($format = $this->_config->get('modRewriteFormat'))
        //) {
        //    $this->_url->useModRewrite(true)
        //        ->setModRewrite($format, $this->_url->getBaseUrl() . '/' . $this->_url->getScriptAlias('main'));
        //}



また、ユーザ管理をPluggではなく、通常のXCLへと強制的に戻すには下記部分を変更してください。そうすることでuser.php等からリダイレクトが行われなくなると思います。

xoops_trust_path/modules/Plugg/plugins/User/Plugin.php 105-111行目辺り

    public function getManagerPlugin()
    {
        if ($manager_name = $this->getParam('userManagerPlugin')) {
            return $this->pluginManager->getPlugin($manager_name);
        }
        return false;
    }


を下記のように


    public function getManagerPlugin()
    {
        return $this->pluginManager->getPlugin('xoopscubeuserapi');
        if ($manager_name = $this->getParam('userManagerPlugin')) {
            return $this->pluginManager->getPlugin($manager_name);
        }
        return false;
    }



500エラーの原因がちょっと分からないので、解決策にはなっていませんが、とりあえず
エラーの発生は回避できると思います。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top