CMS「すぐ使えるCGI」の開発者がご質問にお答えします

 

「CSS や Javascript ファイルへのリンクが切れています」と表示されます (No. 1858)

回答日: 2016-06-29

質問

お世話になります。
「すぐ使えるCGI 添付ファイル付 ウェブページ更新ツール 大容量版 Ver 5.0」についてお尋ねいたします。

【お尋ね】
上記ファイル一式をサーバーにUPして、
管理画面は、 /admin に、
一覧表は、 / (←ドキュメントルート)に書き出すように設定しました。
admin.cgiの変更箇所です。
# ファイル書き出しウェブディレクトリ
$conf{web_dir} = '../';
# ($conf{web_dir} を変更したら同時に変更)
$conf{relative_web_dir} = '../';

ところが、書き出し先を上記の様に変更しますと、管理画面に以下のメッセージが表示されます。
-----------------------------------------------------------------------
この文字が見える場合、CSS や Javascript ファイルへのリンクが切れています。ソースから、<script> タグや <link> タグのスタイルシートのファイルにアクセスできるかを確認して下さい。(設定が問題なく完了したらこのメッセージは <div> タグごと削除して下さい。)

編集が完了しました。編集結果をチェックして下さい。
-----------------------------------------------------------------------

書き出し先を ../webdir/ に戻しますと、上記のメッセージは消えます。

何か解決策がございますでしょうか。

投稿日時: 2016-06-29 14:09

回答

「すぐ使えるCGI」のご利用誠にありがとうございます。

■問題の原因

早速問題の原因ですが、表示されている通り、管理画面テンプレートから読み込んでいる CSS や Javascript へのリンクが切れていることによるエラーです。

これらのファイルは、初期設定では webdir/parts/ にあり、管理画面からは、「書き出しディレクトリの中にある parts/ ディレクトリ」というリンクの仕方をしています。

このため、書き出しファイルを webdir/ から ../ に変更して parts/ は webdir/ 内に残ったままですと、管理画面からのリンクエラーになります。


■2つの解決方法

問題の解消方法は2つあります。以下の2つのいずれか一方を行って下さい。

A. ディレクトリの移動
parts/ ディレクトリも ../ 内にアップロードして下さい。

B. リンクの書換え
templates/admin/ 内の全ての *.html ファイルを編集してリンクがつながるように <script src="..."> や <link href="..."> の書換えを行って下さい。


ファイル内を parts/ で検索すると「%_relative_web_dir_%parts/」というような表記がいくつか見つかると思いますので、それらを全て、サイト内の固定の場所に書き換えて下さい。

parts/ ディレクトリは任意の位置に移動が可能ですが、もし webdir/parts/ を現在のまま残すのであれば、「%_relative_web_dir_%parts/」→「/webdir/parts/」になります。

このパスは管理画面テンプレートから parts/ ディレクトリへの相対パスではなく、サイトのルートディレクトリからのパス(スラッシュから始まる形式)で記載して下さい。その方がリンクミスが少なくなります。


分かりにくい点は再度ご質問下さい。


●いただいたご質問からの変更点

- タイトルに詳細状況を記載しました
- ライセンス管理に関する個別のご質問がありましたので、掲示板からは削除しました。
回答日: 2016-06-29