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

 

SSIを使用した場合のページ送りのリンク設定 (No. 1309)

回答日: 2013-03-13
<< 掲示板一覧  >> 質問する

質問

前回、 http://sugutsukaeru.jp/bbs/1306/ にて質問させてもらった続きになります。
上記については解決しました。ありがとうございます。

上記設定後、表示件数以上の記事がある時ページ送りのリンクが切れてしまうようになりました。
※ニュース更新ツール 大容量版を使用しています

SSIのある階層と生成する階層が違うからだと思うのですが、リンク設定はどのようにしたらよいでしょうか?
ちなみに生成する階層内のファイルにリンクを設定すると添付ファイルのリンク切れになります。

投稿日時: 2013-03-13 15:14

回答

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

■現在状況のまとめ
「大容量版」をお使いの場合は、HTMLファイルが index.html だけでなく複数できますので、No. 1306 でご紹介した方法だけだとうまくいきません。
対応方法は以下の2つありますので、どちらかをご検討下さい。

■方法1:ページ送り後は実ディレクトリにリンク

ページ送り後は実際にファイルを生成する階層内にリンクする場合は、添付ファイルのパスの方を以下のように調整して下さい。

templates/article/article_list.txt 内のパスの記載を、サイトのルートディレクトリからのものに変更します(3つ分)。

変更前例)
<a href="%_d_%/%_imagename_escaped_1_%">

変更後例)
<a href="/abc/samplename/%_d_%/%_imagename_escaped_1_%">


■方法2:.htaccess を利用

こちらはサーバで .htaccess の利用ができる場合に使える方法です。
先にご紹介した .htaccess の記載は index.html のみを調整するものでしたが、以下のように記載すると他のファイルも表示できますのでこちらでお試し下さい。

(ディレクトリ名は適宜変更して下さい。)
-------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /abc/
RewriteRule ^(index\.html.*)?$      samplename/index.html [L]
RewriteRule ^(index.*)\.html(.*)$      samplename/$1.html$2 [L]
</IfModule>
-------

※サーバによってはこの機能を使う事を許可していない場合がありますので、設定が可能かどうかはお使いのサーバ会社またはサーバ管理者さまに「.htaccess で mod_rewrite の設定は可能か」とお問い合わせ下さい。
回答日: 2013-03-13

さらに詳しく