バージョン選択

フォーラム

メニュー

オンライン状況

48 人のユーザが現在オンラインです。 (36 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 48
もっと...

サイト内検索

質問 > その他 > Alias 指定ディレクトリに設置 -> 画像表示エラー

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
pudding17
投稿日時: 2006/11/17 5:16
対応状況: −−−
新米
登録日: 2006/11/17
居住地:
投稿: 6
Alias 指定ディレクトリに設置 -> 画像表示エラー
はじめまして、pudding17 と申します。宜しくお願いいたします。

全く異なる DocumentRoot を指定した VirtualHost の下に
Alias 指定したディレクトリに EC-CUBE を設置しようと試みております。

表題の通り、サイト上で画像を表示するタイミングで、Apache のエラーが出力されてしまいます。

httpd-virtual.conf による VirtualHost 指定部分は以下の通りです。
==========================================
<VirtualHost *:80>
ServerName www.hogehoge.net
DocumentRoot /data/webs/hoge_site/

Alias /eccube/ "/data/eccube/html/"
<Directory "/data/eccube/html">
DirectoryIndex index.html index.php
AllowOverride ALL
AddDefaultCharset EUC-JP
</Directory>
</VirtualHost>
==========================================

www.hogehoge.net では別のサービスを公開しており、
EC-CUBE は www.hogehoge.net/eccube/ でアクセスするようにしたいのですが、
www.hogehoge.net/eccube/ にアクセスすると以下のように Apache のエラーログに出力されます。

==========================================
[error] [client xxx.xxx.xxx.xxx] File does not exist: /data/webs/hoge_site/img/head
er, referer: http://www.hogehoge.net
/eccube/admin/login.php
==========================================
(販売ページ、管理ページ問わず画像表示の際は出力されます)

サイト上では画像表示は正常にされております。

少々イレギュラーな設定かと思いますが、やはり個別に DocumentRoot を指定できるよう
設定を分ける必要があるのでしょうか?

もしくは、./data/conf/conf.php の中で相対でなく絶対パスを指定すれば可能でしょうか?

どうか皆さまのアドバイスを頂ければと思います。
宜しくお願いいたします。
ramrun
投稿日時: 2006/11/17 19:57
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: Alias 指定ディレクトリに設置 -> 画像表示エラー
同じような環境で確認してみました。

自信ないですけどまず、/eccube_dir/html/index.phpの13行目の /css/〜 を css/〜 に

 $this->tpl_css = 'css/layout/index.css'; // メインCSSパス

としてください。

つぎに/eccube_dir/html/js/navi.jsの9行目からの /img/〜 を img/〜 に

 arrImgList = new Array (
  "img/header/basis_on.jpg","img/header/product_on.jpg", ← フォーラムの都合で改行
  "img/header/customer_on.jpg","img/header/order_on.jpg",
  "img/header/sales_on.jpg","img/header/mail_on.jpg","img/header/contents_on.jpg",
  "img/header/mainpage_on.gif","img/header/sitecheck_on.gif","img/header/logout.gif",
  "img/contents/btn_search_on.jpg","img/contents/btn_regist_on.jpg",
  "img/contents/btn_csv_on.jpg","img/contents/arrow_left.jpg","img/contents/arrow_right.jpg"
 );

その中の↓の2つは改名してください(スペルミスと思われます)。

 img/header/seitecheck_on.gif ← sitecheck_on.gif
 img/header/logout_on.gif ← logout.gif

これでどうでしょう?

===============================================

追記:

ごめんなさい。
まだ中途半端みたいで、/eccube_dir/html/product/img で同じようなエラーが出てました。

でもこれはAliasの環境じゃなくてもエラーが出てますから...(汗)
pudding17
投稿日時: 2006/11/19 2:54
対応状況: −−−
新米
登録日: 2006/11/17
居住地:
投稿: 6
Re: Alias 指定ディレクトリに設置 -> 画像表示エラー
ramrun 様、アドバイス頂き誠にありがとうございます。
ご返答が遅れまして申し訳ありません。

頂いたアドバイス通り、

/eccube_dir/html/index.php
/eccube_dir/html/js/navi.js

上記2ファイルの /img/ へのパス指定部分、スペルミス部分を書き換えたところ、エラーが出なくなりました!
本当にありがとうございました。

# /eccube_dir/html/js/navi.js は他と改行コードが違うのですね・・・。

>まだ中途半端みたいで、/eccube_dir/html/product/img で同じようなエラーが出てました。

同じく、/eccube_dir/admin/home.php でも以下のようにエラーが出るようです。

======================================================
File does not exist: /data/eccube/html/admin/img, referer: http://www.hogehoge.net/eccube/admin/home.php
======================================================

それでもブラウザ上では画像が表示されるのは、Apache の振る舞いに依るものなのでしょうか。
運用には支障は出ないのですが、ログファイルがあっという間に肥大化しそうで恐ろしいです。

ramrun 様のアドバイスを参考にしながら、他ファイルについてもパス指定部分を調べて対応して行こうと思います。
いずれこちらでご報告できればと思います。

改めて、ramrun 様、ご指導下さいましてありがとうございました。
ramrun
投稿日時: 2006/11/19 16:49
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: Alias 指定ディレクトリに設置 -> 画像表示エラー
引用:

同じく、/eccube_dir/admin/home.php でも以下のようにエラーが出るようです。


チェックしたら、やっぱりnavi.jsのエラーでした。

navi.jsはショップ側でも管理画面側でも利用されてたようで、
ショップ側のと管理画面側では相対パスが違うので
エラーが出てしまっていました(汗)。

navi.jsの、img/〜 にしたところを /eccube/img/〜
に置換するのが手っ取り早そうです。

引用:

Apache の振る舞いに依るものなのでしょうか。


navi.jsがボタン画像のロールオーバーをやってるところなので、
表面上は目立たなかっただけだと思います。

products/imgでエラーになる件は
eccube_dir/data/Smarty/templates/site_main.tplの132、133行目

 ./img/_.gif



 <!--{$smarty.const.URL_DIR}-->img/_.gif

に変更すればOKみたいです。
pudding17
投稿日時: 2006/11/20 10:49
対応状況: −−−
新米
登録日: 2006/11/17
居住地:
投稿: 6
Re: Alias 指定ディレクトリに設置 -> 画像表示エラー
ramrun 様、度々のご指導、本当にありがとうございます。

引用:

navi.jsの、img/〜 にしたところを /eccube/img/〜
に置換するのが手っ取り早そうです。


なるほど、相対パスの指定部分を Alias 名から指定するようにすればよいわけですね。

同じ考え方で、カゴの中確認ページへのアクセスで /css が見つからない、というエラーが出ていましたので、/eccube_dir/html/cart/index.php を以下のように変更しました。
他のファイルが見つからないエラーについても、同様に対処できそうです。

/eccube_dir/html/cart/index.php 18行目
=======================================================
$this->tpl_css = '/css/layout/cartin/index.css';

$this->tpl_css = URL_DIR . '/css/layout/cartin/index.css';
=======================================================

# ソース中に散見される /** 必ず変更する **/ というコメントは何でしょう

引用:

products/imgでエラーになる件は
eccube_dir/data/Smarty/templates/site_main.tplの132、133行目

 ./img/_.gif



 <!--{$smarty.const.URL_DIR}-->img/_.gif

に変更すればOKみたいです。


ありがとうございます。ばっちり改善できました。
同ファイルでここだけ指定の仕方が違うのは、おそらくタイプミスと同類のものでしょうね。
きちんと改善要求をお出しした方が良いでしょうか・・・。

Smarty についても勉強せねば

ramrun 様、本当にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,088名です
総投稿数は110,033件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
8
red
1570
9
mcontact
1297
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.