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

 

添付ファイルが404エラーになり、画像が表示されない件 (No. 1458)

回答日: 2014-01-26

質問

画像付 ニュース更新ツール Ver 4.5 を購入しました木内と申します。
添付ファイルがアップロードできるのですが、書き出したページからダウンロードしようとすると404エラーが出てしまいます。

掲示板に出ている事を全て試しましたが、404が消えません。
ちなみに404時のURLは
http://www.example.com/templates.default/article/2/PDF_FILENAME.pdf

となっており、「templates.default」という不明なフォルダ名が出たりしています。

「tempfiles」と「webdir」フォルダは第一階層に移しました。
そしてadmin.cgiは以下の通り修正しましたが、どこがいけなかったのでしょうか?すみませんが教えて頂けると助かります。

110行

$conf{relative_file_dir} = '/wminfo_tempfiles/';

140行
$conf{relative_web_dir} = '/wminfo_webdir/';


既にお客様への納品期日が過ぎており手前の都合ですみませんが、お早めに教えて頂けると有り難いです。
どうぞよろしくお願い致します。
投稿日時: 2014-01-26 18:16

回答

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

■admin/admin.cgi の設定について
ページを拝見しました。URLを指定すると、PDFファイルも期待した場所(/wminfo_webdir/2/PDF_FILENAME.pdf)に書き出されていますので、admin/admin.cgi 環境変数の設定は問題ありません。

■予想できる原因
おそらく、各登録の表示を指定しているテンプレート
templates/article/article_list.txt
に、余計なパスが入ってしまっているものと思います。

○作業的な原因
作業の途中でDreamweaver などのWeb編集ツールでページやテンプレートの階層をまとめて移動すると、これらのパスが入ってしまう場合があります。

■対応方法
○テンプレートの編集
おそらく、templates/article/article_list.txt 内でリンクや画像のsrcを指定している部分が以下の「予想」のようになっていると思いますので、「修正後」のように変更して下さい。パスの中にある、「%_d_%」より前の部分(=「../../templates.default/article/」)を削除するというのが、変更点です。

なお、サンプルコード中の「N」の部分は「1」「2」「3」等の数字ですので、読み替えて下さい。
----予想----
<a href="../../templates.default/article/%_d_%/%_imagename_escaped_N_%">

<img src="../../templates.default/article/%_d_%/%_thumbnail_escaped_N_%">
または
<img src="../../templates.default/article/%_d_%/%_imagename_escaped_N_%">
------------

--修正後----
<a href="%_d_%/%_imagename_escaped_N_%">

<img src="%_d_%/%_thumbnail_escaped_N_%">
または
<img src="%_d_%/%_imagename_escaped_N_%">
------------

○変更の反映
テンプレートを修正したら、サーバに上書きアップロードの上、管理画面一覧の下にある「再構築(テンプレート変更反映)」ボタンを押して下さい。

○確認
ブラウザのキャッシュをクリアして再読み込みしてご確認下さい。


◆いただいた入力からの変更点
URL中のドメイン名とファイル名を変更し、無効なURLにしました。
回答日: 2014-01-26