質問 > その他 > 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 指定ディレクトリに設置 -> 画像表示エラー 引用:
チェックしたら、やっぱりnavi.jsのエラーでした。 navi.jsはショップ側でも管理画面側でも利用されてたようで、 ショップ側のと管理画面側では相対パスが違うので エラーが出てしまっていました(汗)。 navi.jsの、img/〜 にしたところを /eccube/img/〜 に置換するのが手っ取り早そうです。 引用:
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 様、度々のご指導、本当にありがとうございます。
引用:
なるほど、相対パスの指定部分を 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'; ======================================================= # ソース中に散見される /** 必ず変更する **/ というコメントは何でしょう 引用:
ありがとうございます。ばっちり改善できました。 同ファイルでここだけ指定の仕方が違うのは、おそらくタイプミスと同類のものでしょうね。 きちんと改善要求をお出しした方が良いでしょうか・・・。 Smarty についても勉強せねば ramrun 様、本当にありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |