[サーバ]
ホスト&契約タイプ:valuedomain core-mini
ネットワーク:インターネット
Webサーバ: Apache1.3.37
PHPバージョン:5.2.5
DB:MySQL5.1.22
[modx]
バージョン:Revo. 2.0.4-pl2
[クライアント]
ブラウザ:chrome
お世話になります。
Revolutionにてマルチドメインのサイトをこのページhttp://www.belafontecode.com/how-to-hos ... evolution/の設定で構成してサブドメイン用のコンテキストを作成してドキュメントを作成したのですが、サブドメインのサイトでテンプレートのスタイルシートを適用出来ません。
デフォルトのサイト("web"コンテキスト)をdefault.sample.com
サブドメインのサイトをsub.sample.com("sub"コンテキスト)とした場合、各コンテキストのキー設定は以下の通りにしました。
"web"コンテキスト
base_url : /
http_host : default.sample.com
site_url : http://default.sample.com/
"sub"コンテキスト
base_url : /
http_host : sub.sample.com
site_url : http://sub.sample.com
テンプレートはmodxcms.comからダウンロードしたClarityでheadの部分は、
<head>
<base href="[[++site_url]]" />
<title>-[[++site_name]] | [[*pagetitle]]</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="[[++base_url]]assets/templates/clarity/css/1.css" type="text/css" media="screen,projection" />
<script src="[[++base_url]]assets/templates/clarity/sifr/sifr.js" type="text/javascript"></script>
<script src="[[++base_url]]assets/templates/clarity/sifr/sifr-addons.js" type="text/javascript"></script>
</head>
となっています。デフォルトの"web"で作成したドキュメントは正しくスタイルシートが適用されます。同じ問題を持った人のトピックで<link rel="stylesheet" href="[[++base_url]]assets/templates/clarity/css/1.css" の[[++base_url]]の部分を取ったら動いたというレスがあったので試した所、症状は変わりませんでした。
cssファイルをリソースとして作成してリソースIDをスタイルシートに指定すると正しく適用されますがスタイルシートの指定する画像ファイルはassets/templatesフォルダーにアップロードしてパスを指定しても画像は表示されません。
マルチドメインのRevolutionのcontext設定 【解決済み】
Re: マルチドメインのRevolutionのcontext設定
site_url : http://sub.sample.com/cookie さんが書きました:"sub"コンテキスト
site_url : http://sub.sample.com
最後のスラッシュは入ってますでしょうか?(それともここだけの誤植?)
引用)
あと、実際に出力されたHTMLソースを見れば何か分かると思いますが、どうでしょね。site_url - Set this to "http://dev.modxcms.com/" (or your subdomain url). Don't forget the trailing slash. Remember this setting is (scheme+http_host+base_url).
Re: マルチドメインのRevolutionのcontext設定
sama55さん、またまたお世話お掛けします。
site_urlの最後の/は入っています。
表示されたページのソースのhead部分は以下の通りです。
<head>
<base href="http://sub.sample.com/" />
<title>-modxテストサイト | home</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet"/assets/templates/clarity/css/1.css" type="text/css" media="screen,projection" />
<script src="/assets/templates/clarity/sifr/sifr.js" type="text/javascript"></script>
<script src="/assets/templates/clarity/sifr/sifr-addons.js" type="text/javascript"></script>
</head>
cssファイルの指定部分を
<link rel="stylesheet"http://default.sample.com/assets/templa ... /css/1.css" type="text/css"
と言うようにModxをインストールしたディレクトリーを直接指定すると正しく表示されます。
modxの本家サイトのフォーラムで似たような質問がありました。
http://modxcms.com/forums/index.php?topic=51180.0
このトピックの最後のレスの部分でサブドメインのフォルダーにある.htaccessにredirect parmanentを入れたらどうかと言うレスがありましたので真似して、
"Redirect parmanent /assets/ http://default.sample.com/assets/" と、メインサイトのassetsフォルダーへリダイレクトするように入れて見ましたが効果ありませんでした。
site_urlの最後の/は入っています。
表示されたページのソースのhead部分は以下の通りです。
<head>
<base href="http://sub.sample.com/" />
<title>-modxテストサイト | home</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet"/assets/templates/clarity/css/1.css" type="text/css" media="screen,projection" />
<script src="/assets/templates/clarity/sifr/sifr.js" type="text/javascript"></script>
<script src="/assets/templates/clarity/sifr/sifr-addons.js" type="text/javascript"></script>
</head>
cssファイルの指定部分を
<link rel="stylesheet"http://default.sample.com/assets/templa ... /css/1.css" type="text/css"
と言うようにModxをインストールしたディレクトリーを直接指定すると正しく表示されます。
modxの本家サイトのフォーラムで似たような質問がありました。
http://modxcms.com/forums/index.php?topic=51180.0
このトピックの最後のレスの部分でサブドメインのフォルダーにある.htaccessにredirect parmanentを入れたらどうかと言うレスがありましたので真似して、
"Redirect parmanent /assets/ http://default.sample.com/assets/" と、メインサイトのassetsフォルダーへリダイレクトするように入れて見ましたが効果ありませんでした。
Re: マルチドメインのRevolutionのcontext設定
単なる記事の誤記でしたか・・・cookie さんが書きました:site_urlの最後の/は入っています。
上のlinkタグには' "href=' の属性名が無いようですが・・・cookie さんが書きました:表示されたページのソースのhead部分は以下の通りです。
~
<link rel="stylesheet"/assets/templates/clarity/css/1.css" type="text/css" media="screen,projection" />
~
cssファイルの指定部分を
<link rel="stylesheet"http://default.sample.com/assets/templa ... /css/1.css" type="text/css"
と言うようにModxをインストールしたディレクトリーを直接指定すると正しく表示されます。
テンプレート上では、
<link rel="stylesheet" href="[[++base_url]]assets/templates/clarity/css/1.css" type="text/css" media="screen,projection" />
としてるのですよね?う~~ん
Re: マルチドメインのRevolutionのcontext設定 【解決済み】
返信が遅くなってすみません。
マルチドメインの設定方法をこのページ http://www.h-quadrat.com/techblog/111-m ... nglish.php のやり方に変えた所、解決しました。この方法だとサブドメインどうしだけでなく全く異なったドメインを扱えるようです。
何かRevo.は未知の領域という感じで先行き不安ですが、また躓いたらよろしくお願いします。
マルチドメインの設定方法をこのページ http://www.h-quadrat.com/techblog/111-m ... nglish.php のやり方に変えた所、解決しました。この方法だとサブドメインどうしだけでなく全く異なったドメインを扱えるようです。
何かRevo.は未知の領域という感じで先行き不安ですが、また躓いたらよろしくお願いします。