Clipbucketで「www」を付けたサブドメインでアクセスするとリダイレクトされちゃう現象について調べてみました。

■使用OS
CentOS 5.8 64bit

■Clipbucketバージョン
clipbucket-2.6-r738

■clipbucket公式
http://clip-bucket.com/

■説明
Clipbucket2.6をインストールして「www.example.com」みたいな感じでアクセスしてDBのセットアップを過ぎると、「example.com」にリダイレクトされてセットアップをやり直すと言う現象を確認。
ソースのコメントを見てみるとSEO対策で「www」を取り除いているみたいでした。
そこで、ここではリダイレクトさせないようにしてみます。

■修正ファイル
$CLIPBUCKET_HOME/includes/common.php
$CLIPBUCKET_HOME/includes/classes/pages.class.php

■前提
Clipbucketは「/var/www/html」直下にインストールされているとします。

(1)「$CLIPBUCKET_HOME/includes/common.php」を修正

[root@example ~]# vi /var/www/html/includes/common.php
        //Removing www. as it effects SEO and updating Config
        $wwwcheck = preg_match('/:\/\/www\./',$baseurl,$matches);
        if(count($matches)>0)
        {
                $baseurl = preg_replace('/:\/\/www\./','://',$baseurl);
        }
        ↓ # コメントアウト
        //Removing www. as it effects SEO and updating Config
        /*$wwwcheck = preg_match('/:\/\/www\./',$baseurl,$matches);
        if(count($matches)>0)
        {
                $baseurl = preg_replace('/:\/\/www\./','://',$baseurl);
        }*/

(2)「$CLIPBUCKET_HOME/includes/classes/pages.class.php」を修正

[root@example ~]# vi /var/www/html/includes/classes/pages.class.php
                $remove_arr = array();
                $remove_arr[] = '/:\/\/www\./';
	       ↓ # コメントアウト
                /*$remove_arr = array();
                $remove_arr[] = '/:\/\/www\./';*/

        //Redirects page to without www.
        function redirectOrig()
        {
                $curpage = $this->GetCurrentUrl();
                $newPage = preg_replace('/:\/\/www\./','://',$curpage);
	       ↓ # 修正
                $newPage = preg_replace('/:\/\/\./','://',$curpage);

修正後、インストール画面にアクセスして進めていけば問題無く「www」付きでセットアップが完了します。

一応パッチも作ってみました。

(1)パッチをダウンロード

[root@example ~]# wget http://www.kurobuti.com/download/clipbucket/2.6/redirect-patch/clipbucket-www-redirect.patch.gz

clipbucket-www-redirect.patch.gz
MD5(clipbucket-www-redirect.patch.gz)= 5cf2c2aff37235f87a7eb2ebf2544d9e

(2)パッチを解凍

[root@example ~]# openssl md5 clipbucket-www-redirect.patch.gz
MD5(clipbucket-www-redirect.patch.gz)= 5cf2c2aff37235f87a7eb2ebf2544d9e
[root@example ~]# gunzip clipbucket-www-redirect.patch.gz

※MD5値が間違ってないこと

(3)パッチを当てる

[root@example html]# patch -p1 < /root/clipbucket-www-redirect.patch
patching file includes/common.php
patching file includes/classes/pages.class.php

以上:D


6月 9, 2012 at 9:13 pm by 黒ぶちメガネ
Category: clipbucket, Linux, 動画配信