■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる

CoolBeens > スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる @ 2014/5/10 16:29
以下のようにbaserCMSを設置した階層に、WordPress(blogフォルダ)を設置しています。


質問の内容は、baserCMSのスマートURLをオンにしたところ、以下のようなエラーメッセージが表示され、WordPressのコンテンツが表示できなくなってしまいました。
(オフに戻すとまた表示されるようになります)

引用:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@paperboy.co.jp and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.



おそらく.htaccess の設定だろうと思って色々調べてみたのですが、どうも目ぼしい情報にたどり着けませんでした。


お恥ずかしながら私は素人に毛が生えた程度のスキルですが、どなたかご教示頂けますようお願いいたします。




baserCMS環境

セーフモード:Off
データベース: SQLite
baserCMSバージョン: 3.0.2
CakePHPバージョン: 2.4.3

サーバー:lolipop
cosam > Re: スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる @ 2014/5/10 19:33
404 not found!
I'm sorry! Virus was present in this reply.
CoolBeens > Re: スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる @ 2014/5/11 11:56
cosam様

早速ご返答いただきありがとうございます。

教えて頂いた
引用:
ルートディレクトリにある.htaccessに
RewriteCond %{REQUEST_URI} !/blog/
を追記する

の方法を試しましたが、解決できませんでした。

やはりご指摘いただいた通り、運用状況の情報が少なかったようですね。

とは言っても、運用状況情報はどの程度までお教えすれば良いでしょう?
以下に記した情報でも少ないでしょうか?
(また、私の過去の質問などをご覧頂いたようですが、本件とは違うシステムでの
話で関連性はなく、今回は新規で立ち上げている全く別件の話となります。)


baserCMSテーマ:smart

現在のルートディレクトリにある.htaccess(スマートURLをOFFの状態)の内容です。
#
# /.htaccess
#
# 【スマートURLについて】
#	短くスマートなURLを実現する為には、ApacheのRewriteモジュールが必要です。
#	スマートURLの設定は、管理画面のシステム設定より行えます。
#	(例)
#		スマートURLオフ:http://localhost/index.php/contact/index
#		スマートURLオン:http://localhost/contact/index
#
# 【スマートURLの設定に失敗した場合】
#	/.htaccess と /app/webroot/.htaccess に記述されている
#	RewriteBase 設定をサーバー環境に合わせて調整してください。
#	マルチドメインの場合は、マルチドメインの設定フォルダを設定値に
#	付け加えるうまくいく事が多いようです。
#
#	(例)マルチドメインのフォルダが「test」の場合
#		RewriteBase    /test
#
# 【スマートURLを手動でオンにする】
#	■ /.htaccess と /app/webroot/.htaccess にRewrite設定を記述する必要があります。
#	  /.htaccess では次の4行を記述します。
#		RewriteEngine on
#		RewriteBase /
#		RewriteRule ^$ app/webroot/ [L]
#		RewriteRule (.*) app/webroot/$1 [L]
#	■ /app/Config/install.php に次の行を追加します。
#		Configure::write('App.baseUrl', '');
#
# 【スマートURLを手動でオフにする】
#	■ /.htaccess と、/app/webroot/.htaccess 内の、次の行で始まる行を全て削除します。
#		RewriteEngine / RewriteBase / RewriteCond / RewriteRule
#	■ /app/Config/install.php の次の行を削除します。
#		Configure::write('App.baseUrl', '');
#
# 【動作確認済レンタルサーバー】
#	http://basercms.net/manuals/introductions/2.html
#
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]



以下は、/app/webrootディレクトリにある.htaccess(スマートURLをOFFの状態)の内容です。
#
# /app/webroot/.htaccess
#
# 【スマートURLについて】
#	短くスマートなURLを実現する為には、ApacheのRewriteモジュールが必要です。
#	スマートURLの設定は、管理画面のシステム設定より行えます。
#	(例)
#		スマートURLオフ:http://localhost/index.php/contact/index
#		スマートURLオン:http://localhost/contact/index
#
# 【スマートURLの設定に失敗した場合】
#	/.htaccess と /app/webroot/.htaccess に記述されている
#	RewriteBase 設定をサーバー環境に合わせて調整してください。
#	マルチドメインの場合は、マルチドメインの設定フォルダを設定値に
#	付け加えるうまくいく事が多いようです。
#
#	(例)マルチドメインのフォルダが「test」の場合
#		RewriteBase    /test/app/webroot
#
# 【スマートURLを手動でオンにする】
#	■ /.htaccess と /app/webroot/.htaccess にRewrite設定を記述する必要があります。
#	  /app/webroot/.htaccess には次の5行を記述します。
#		RewriteEngine on
#		RewriteBase /app/webroot
#		RewriteCond %{REQUEST_FILENAME} !-d
#		RewriteCond %{REQUEST_FILENAME} !-f
#		RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
#	■ /app/Config/install.php に次の行を追加します。
#		Configure::write('App.baseUrl', '');
#
# 【スマートURLを手動でオフにする】
#	■ /.htaccess と、/app/webroot/.htaccess 内の、次の行で始まる行を全て削除します。
#		RewriteEngine / RewriteBase / RewriteCond / RewriteRule
#	■ /app/Config/install.php の次の行を削除します。
#		Configure::write('App.baseUrl', '');
#
# 【動作確認済レンタルサーバー】
#	http://basercms.net/manuals/introductions/2.html
#
Allow from all

RewriteEngine on
RewriteBase /app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]




以下は、/lib/Cake/Console/Templates/skelディレクトリにある.htaccess(スマートURLをOFFの状態)の内容です。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>





以下は、/lib/Cake/Console/Templates/skel/webrootディレクトリにある.htaccess(スマートURLをOFFの状態)の内容です。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>




以下は、/libディレクトリにある.htaccess(スマートURLをOFFの状態)の内容です。

Order allow,deny
Deny from all




以下は、/appディレクトリにある.htaccess(スマートURLをOFFの状態)の内容です。

Order allow,deny
Deny from all



以上の通り、全部で6つの.htaccessファイルが存在していました。



また、WordPressが稼働している【blog】フォルダ内には、
.htaccess は存在していません。

上記以外に必要な情報はありますでしょうか?

今回利用しているロリポップサーバーに何か設定でもあるのかなぁ。。。←独り言です・・・


大変恐縮ですが、引き続きご対応頂けたら幸いです。

以上、よろしくお願いいたします。
cosam > Re: スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる @ 2014/5/11 17:13
404 not found!
I'm sorry! Virus was present in this reply.
Masamichi > Re: スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる @ 2014/5/12 0:20
こんばんは。

僕も、coolbeensさまと恐らくですが、、、
同様の構想を描いておりまして、
実現できているので投稿させて頂きます。

まず、現状を確認したいのですが、
投稿していて頂いた内容と画像から、

下記の様にドメイン直下blogというフォルダを作成されて、
WordPressを導入されている状況だと思います。


この場合、スマートURLがOFFの状態だと、
問題なくblog(WordPress)は稼働すると思います。

次に、直下のbaserCMSサイトのスマートURL機能をONにすると、
投稿された様な不具合が生じる。


構想はこの様な感じでは無いでしょうか。


http://hogehoge.com   ← baserCMS(スマートURL ONで運営したい)
                   /blog ← WordPress
                   /その他(フォルダ等)

間違っていたらすみませんm(_ _)m

上記の通りだと仮定しますと、
下記で記載する方法で実現可能ですが、

その前に・・・

baserCMS 特有のフォルダ構成を理解する必要があります。

■ドキュメントルートの場所
http://basercms.net/manuals/3/base/1.html
(公式サイトより)
http://magazine.barket.jp/article/archives/7

↑こちらにある説明の様に、
http://hogehoge.com/app/webroot/ここがドキュメントルートになる。
({baserCMSの設置フォルダ}/app/webroot/ドキュメントルート)

■スマートURLOFFの場合は、
上記のドキュメントルート以外にフォルダやファイルを置いてもアクセス可能なのですが、
ONにすると、/app/webroot/以下のドキュメントルートを読み込みます。(説明が難しいです…)

例)test.jpg が下記の位置に有るとします。
http://hogehoge.com/app/webroot/theme/img/test.jpg

・スマートURL OFFで上記の画像を表示する場合のURL
http://hogehoge.com/app/webroot/theme/img/test.jpg

・スマートURL ON の場合のURL
http://hogehoge.com/theme/img/test.jpg


この様になるかと思います。

こちらを理解した上で、
解決策として下記の2つをご案内させて頂きます。
(推奨は2番目です)

■ 解決策1
blog(WordPress)を Webroot 以下に作成する方法
(baserCMSを置く場合も同様)

http://hogehoge.com/app/webroot/blog ← ここにWordPressをインストールする。

これでスマートURLをONにした場合、
http://hogehoge.com/blog で運営が出来るようになります。
(.htaccessの調整が必要になります)
過去の記事より

↑ デメリット1.
blog(WordPressの一部)に不具合が出るかも知れません。
(私は blog(例)にbaserCMSを入れて、ブログ内のカテゴリーのリンクに不具合が出ました。)

WordPressでしたら大丈夫かも知れません。

デメリット2.
/app/webroot/blogというサーバー内の構成で固定されてしまう。


■ 解決策2(おすすめ)

ドキュメントルートを変更して、baserCMSをインストールした状態で、
サブフォルダ(blog)にwordPressをインストールする方法。

baserCMS 特有のフォルダ構成を
通常の状態に戻すことが出来ます。

http://magazine.barket.jp/article/archives/7

欠点としては、再度、コアを上記の様に再構成した上で
手動で再アップ、テーマ等も設定し直す必要があります。
(現状のbaserCMSサイトを再構築する)

メリットは、通常?の感覚で、
サーバー内の組み立てが可能です。

例)
http://hogehoge.com  ← メインサイト baserCMS3.02(スマートURL ON)
                   /work1 baserCMS3.02(スマートURL ON)
                   /work2 (同上)
                   /work3 (同上)
                   /content1(WordPress会員制サイト)
                   /content2(WordPressサイト)
                   /mail     (メルマガ配信 CGI)
                   /stepmail (ステップメール配信 PHP)
                   /img    (画像)
                   /lp        (ランディングページ php)
                   /sp     (セールスページ html)
                   /その他


↑サーバーの中身がこの様な状態で運営できます。

実際の画像はこちら


こんな感じになります^^;

制作状況によっては、解決策2は、難しいかもしれません。


■ 整理します

現状の状態で、スマートURL ONでの運営は、
容易では無いかと思います。

■ 解決策1
→ app/webroot/以下にblogを設置する
(要.htaccessの調整、不具合出る可能性有り)

■ 解決策2
→ baserCMSをドキュメントルートを変更してインストール(スマートURL ON)
同階層にblog(WordPress)を作成・インストール
(推奨 制作状況による 特別な設定・不具合共に今のところ無し)


少し難しいかもしれませんが、
構造や仕組みが理解できると楽しくなると思います^^;

新しく導入される方にも参考になれば幸いです。
m(_ _)m


■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名: heteml
■ スマートURLの利用: [ON]
■ 設置フォルダ: [直下・サブフォルダ共に導入]
■ 利用しているデータベース:[MySQL5.6][sqLite]

■ BaserCMS: 3.0.15〜4.1.5
■ サーバー名: mixhost・x-server・さくら・ロリポップ
■ スマートURLの利用: [共に]
■ 設置フォルダ: [共に]
■ データーベース MySQL5.6
■ PHPスキル[C]

CoolBeens > Re: スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる @ 2014/5/12 9:29
cosam様

ご提案頂いた方法で試してみましたが、私の環境の場合では
basercmsとwordpressのどちらもエラーが返り、
表示できませんでした。

後にご投稿頂いた、
Masamichi様の方法も試してみたいと思います。


親身にご対応いただきありがとうございます。
CoolBeens > Re: スマートURLをオンにすると、同階層設置のWoradpressが表示されなくなる @ 2014/5/12 9:59
Masamichi様

私の環境の現状、まさに仰る通りです。

ドキュメントルートの場所の解説ページのご紹介、ありがとうございます。
初めてbaserCMSを導入した頃に一度目を通していましたが、今日現在まで失念していました。
(基本的でとても重要な部分なのに自分が情けない・・・)

そして、ご紹介頂いたように、ドキュメントルートの変更が出来る
など、思ってもみませんでした。



今回ご提案頂いた解決策の1、特に2はシステムの構築前に
予め構成を考えておいた方が良いようですね。


仰っていただいた通り、現状の状態で、スマートURL ONでの運営は、
容易では無いようですので、今回の案件ではスマートURLをOFFで
運用することにし、次回以降から解決策2で構築していきたいと
思います。


とても解かりやすく解説いただき勉強になりました。
本当にありがとうございました。
m(_ _)m



ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
17 人のユーザが現在オンラインです。 (17 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 17