baserCMSで開発環境と公開環境でドメイン、フォルダが変わる場合の不具合
2014/06/26
baserCMSを本番公開する際の手続き
アクセスの URLが変わるとエラーになる
Webサイトを構築する際、本番環境をそのまま使って開発、設置を行っていく場合は非常に少ないと思います。
開発環境で開発を行い、それを本番環境に移動させるのか、もしくは、開発環境にドメインを当ててそこを本番環境に切り替えるのか。
そのような対応を行う場合、baserCMSの管理画面からの対応だけではエラーになってしまいます。
「500 – Internal Server Error」が表示されて動かなくなります。
私もこの不具合の理由が分からず、丸 1日費やしてしまいました。
私が陥った状況は、下記のような環境でした。
開発中のフォルダはドメインが当たっておらず、レンタルサーバの共有ドメイン(ここでは「kyouyuu.com」とします)を利用してアクセスしていました。
共有ドメインでのドキュメントルート
/ ←http://kyouyuu.com/ でアクセス
現在公開中のフォルダ
/honban_com/ ←http://honban.com でアクセス
開発中のフォルダ
/test_com/ ←http://kyouyuu.com/test_com/ でアクセス
そして、開発中の環境で構築が完了したので、まず、baserCMSの管理画面の「システム設定」-「サイト基本設定」の「WebサイトURL」を「http://honban.com」に変更しました。
そして、サーバの管理画面から「http://honban.com」でアクセスした際に「/test_com/」のフォルダをドキュメントルートとして読みに行くように設定を変更しました。
すると、「500 – Internal Server Error」が表示されて動かなくなったのです。
URLが変わる際の対応方法
サーバのファイルをバックアップし、ゼロからインストールし直してみて、ファイルの差分を確認してみたり、DBを差し替えてみたりしましたが、なかなかうまくいきませんでした。
逆に、表示が崩れていったり、データが歯抜けになったりして、全くうまくいきませんでした。
ですが、そんな試行錯誤をしている中で、「.htaccess」で処理を制御していたことを思い出したのです。
そして、「RewriteBase」の項目をそれぞれ下記の通り変更すると無事に動き出したのです。
————/.htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
————
————/app/webroot/.htaccess
RewriteEngine on
RewriteBase /app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
————
この「.htaccess」は、インストールのタイミングで作成されるのですが、その後は、管理画面から設定を変更してもそれが反映されない、ということなのでしょう。
この設定が反映されない、という不具合は、もしかしたらサーバに由来するものかもしれません。
もしかしたら、運営しているサーバはロリポップサーバなのですが、先日の WordPressを発端とする大規模ハッキングの影響で何かしら設定が変更されているのかもしれません。
ただ、他のサーバでもサーバの設定によって「.htaccess」が更新されない場合があるのであれば、今回の私のハマった不具合は参考になるのではないかと思っています。
ロリポップで baserCMSを利用する際の Basic認証の設置には注意しましょう
baserCMSをほかのサーバ、環境にコピーする場合
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
baserCMSをほかのサーバ、環境にコピーする場合
baserCMSを他のサーバ、環境にコピーする場合の設定方法について説明します。
-
-
baserCMSでオリジナルのデータベースから情報を取得する場合
オリジナルで作ったテーブルから情報を取得し利用する場合はプラグインとして機能を拡張することで対応出来ます。その方法について説明しています。
-
-
baserCMSでwp_is_mobileと同じスマホ振り分け関数を実装
baserCMS版 wp_is_mobile関数です。Google Adsenseの規約対応のためにも必要な関数です。
-
-
baserCMS favicon.icoを変更したい場合
baserCMS favicon.icoを変更したい場合の参考サイトとそれでも直らない場合の対応方法についての説明です。
-
-
baserCMS トップページのニュースの部分をメンテナンスしたい場合
トップページのニュース部分をメンテナンスする場合の具体的な方法をサンプルソースを用いて解説しています。
-
-
baserCMS 3系でテーマが変更されないのはキャッシュが原因
baserCMS 3系ではキャッシュの処理が原因でテーマを変更したけども変更されないという不具合があります。
-
-
baserCMS getCategoryの使い方について
baserCMS getCategoryの使い方についての説明です。公式サイトの説明ではわかりにくいところを補足説明しています。
-
-
baserCMS 詳細エリアが入力できない(詳細エリアの WYSIWYGエディタが起動しない)
baserCMS 詳細エリアの WYSIWYGエディタが起動しない場合の解決方法の参考サイトと、それでも直らない場合の最終手段の説明です。
-
-
baserCMS ブログカテゴリーの表示を柔軟な形で取得する方法
baserCMSのgetCategoryListではなくもっと柔軟に利用できる方法でブログカテゴリを取得する方法をサンプルコードを用いて説明をしています。
-
-
baserCMS サイト管理者権限でファイルアップロードを行う・権限設定の詳細について
Admin権限以外の権限でファイルをアップロード、ページの更新をする際の権限設定の仕方と、権限設定全般についての設定のコツについて解説しています。