
カテゴリーが違っているかもしれませんが、質問させてください。初心者です。
SSIを使ってファイルを呼び出すときに、こういった記述を行うと思うのですが・・・。<!--#include file="./menu.txt" -->
もう一つ。<!--#include virtual="./menu.txt" -->という記述方法があるのですが、このfileとvirtualの違いは何でしょうか??私が二つ試したところ、この記述方法の違いを感じることは出来ませんでした。
また、Apacheではvirtualを推奨していると言うことなので、fileを使わずに全てvirtualで記述したら駄目なのでしょうか??
あと、="./menu.txt"と書いている部分の./ってどんな意味でしょうか?上の階層を指定する場合は./../menu.txtと書けばいいのでしょうか?
変な質問ですみません。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
2つは、ファイルの探し方(root)が違います。
#include file= は、そのHTMLファイルがある
ディレクトリから実際のディレクトリ構造に沿って
探します。
本当のルートディレクトリを指す / や
上位ディレクトリ ../ は、サーバの設定によっては
使えないことがあります。
#include virtual= は、DocumentRoot からの
ディレクトリ構造に沿って探します。
/ を指定すると DocumentRoot になります。
../ なども使えますが、DocumentRoot の中しか
たどれません。
下記の2つを試すと違いが出てくると思います。
#include file="/index.html"
#include virtual="/index.html"
それから別件ですが、
ピリオド2つで上位ディレクトリを指すのは
ご存知のようですね。ピリオド1つはカレント
ディレクトリを指します。
./menu.txt は、明示的に、カレントディレクトリの
menu.txt を表わしています。
サーバによっては、ファイル名の先頭が ./ でないと
受け付けてくれない設定になっているものもあるので、
念のため ./ をつける習慣になっているみたいです。
haru44さんありがとうございます。
とても丁寧なご説明感謝いたします。
>下記の2つを試すと違いが出てくると思います。
#include file="/index.html"
#include virtual="/index.html"
なるほど、探し方が違うと言う意味が分かりました。
>./menu.txt は、明示的に、カレントディレクトリの
menu.txt を表わしています。
ありがとうございます。
>念のため ./ をつける習慣になっているみたいです。こんな習慣もあったんですね。本当にとても参考になりました。
No.1
- 回答日時:
<!--#include virtual="./menu.txt" -->
というのは間違いではないでしょうか。
fileは、対象ファイルの検索開始がカレントディレクトリ(そのSSIファイルがあるディレクトリ)で、
virtualは、仮想絶対パス、簡単に言えば「 http://abc/def/ghi/ 」の 「/def/ghi/」部分です。
使い分けは、fileは上位ディレクトリを参照できませんので、そんなときはvirtualを使います。
↓ここなんて参考になるのでは?
http://www.scollabo.com/banban/ssi/ssi_005.html
「./」の意味については、それをお答えするよりも、「パス」について勉強されたほうがapple_mangoさんにとって良いかと。
ちなみに私はよく「/abc/menu.txt」というような書き方をします(先頭がピリオドじゃなくスラッシュ)。これは絶対パスと言って、それを書くファイルがどこにあろうと常に同じなので、コピーなどもできて便利だからです。
早速のご解答ありがとうございます。
><!--#include virtual="./menu.txt" -->というのは間違いではないでしょうか。
なるほどですね!今回はvirtualを使ってもカレントディレクトリ内のファイルを呼び出せたので、何が違うのかなーと思っていた次第でした。
URLの方も参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 ①普通名詞の所有格+②普通名詞で、①普通名詞に定冠詞の意味を付加したい場合の表現方法等について 23 2022/09/30 12:47
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(ソフトウェア) 辞書CD-ROMをISOに 2 2023/05/11 13:29
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- その他(ソフトウェア) Emacsメニューの日本語化について 1 2023/06/16 15:52
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- iOS ファイルの名前変更 2 2022/08/11 20:47
- 弁護士・行政書士・司法書士・社会保険労務士 記述対策について 1 2022/09/19 20:51
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perl 特殊配列@INC について
-
CGI用に作ったディレクトリが消...
-
cron設定時のディレクトリの絶...
-
FTPにてパーミッション一斉変更...
-
ODNアクセスカウンタの設置...
-
NTSVからバッチファイルでXCO...
-
500 Internal Server Err で困...
-
連番ディレクトリの作成方法
-
CGI実行環境下の.jsや.cssが動...
-
JavaScriptdeファ...
-
CGIのディレクトリについて詳し...
-
CSVファイルのパーミッションは?
-
.htaccessでのディレクトリ観覧...
-
CGI初心者です
-
CGIでの背景の使用
-
ユーザーに絶対に見られたくな...
-
EXCELファイルに誰がアクセスし...
-
KENT WEB(昨日の続きです)
-
URLに~/cgi-bin/~を隠す方法
-
PostMail パーミッションについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIが読み書きするデータファイ...
-
なぜフォルダ名がcgi-binなの?
-
phpでの更新管理がロリポップだ...
-
ユーザーに絶対に見られたくな...
-
iniファイルを呼ぶバッチファイ...
-
JavaScriptdeファ...
-
インクルードファイルのエラー
-
CGIのフォームをアップロードす...
-
CGI実行環境下の.jsや.cssが動...
-
CGIでjcode.plを読み込めなくな...
-
FFFTPでアップロードできない?
-
ISWEBのCGI設置方法、分...
-
画像投稿掲示板の画像保存用デ...
-
パスワード自動発行CGI設置で苦...
-
連番ディレクトリの作成方法
-
テストサーバーの構築方法について
-
レンタルサーバーlolipop cgiの...
-
Cで作ったexeファイルをCGIとし...
-
.htaccessを2つ以上設置した場合
-
これらの2つの違いを教えて下...
おすすめ情報