
CGIを使ううえでディレクトリを2階層にグループ分けをしたいと考えています。
そこで質問ですがディレクトリを2階層にグループ分けをするにはどうすればいいのでしょうか
トップでttp://www.アカウント.com/1ディレクトリ/
トップからのリンク先で
ttp://www.アカウント.com/1ディレクトリ/2ディレクトリ/**.htm
上記のような感じで考えています。
サーバーの仕様を確認したところCGI専用ディレクトリについて
お好きなディレクトリに設置しても動作します。
ただし、ファイル・ディレクトリ名に
「半角英数字」「_(アンダーバー)」「-(ハイフン)」「.(ピリオド)」
以外を使用すると正常に動作致しませんのでご注意ください。
と記載されていました。
CGIやディレクトリ詳しい方よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>トップページからリンク先をクリックするとディレクトリ名が
>ttp://ww.*****.com/local/このように変わったのを覚えていますが
>これはどんな方法で設置しているのでしょうか?
それは単純に、そきにの出力したHTMLにリンクが記載されていただけです。
★複数のCGIを
・プロトコル://[ドメイン]/path/([CGI_1])
・プロトコル://[ドメイン]/path/[path/([CGI_2])
()内のCGIファイル名指定はなくても良い
と置いたり
プロトコル://[ドメイン]/path/[CGI][/PATH_INFO]
と置けたりすることは、HTTPサーバーの動作手順を学べばよいです。極めて単純で機械的な処理です。
例を挙げますが、自身でサーバーを作ってみないとこんがらがるでしょうから、参考までに
ブラウザから次のような要求がサーバーにあったとします。
http://[ドメイン名]/ABC/EFG/HIJ?KLM/OPQ
この要求を受け取ったサーバーはまず?以下を環境変数{QUERY_STRING}に代入して、
この時点で、$ENV{QUERY_STRING} = KLM/OPQ
/ABC/EFG/HIJというファイルを探します。
1) /ABC/EFG/をディレクトリとみなしてされをさがす。
・・あれば、それがファイルなら提供する
・・実行ファイルならそのプログラムに処理を任せる
2) ファイルでなければ、ディレクトリであるか調べる
・・ディレクトリならそのディレクトリを開き、
そのディレクトの処理方法を調べる
a) インデックスを探すならindex.htmlとかindex.cgi
3) ファイルもディレクトリもなければ、
・・/HIJを切り捨てて、環境変数{PATH_INFO}に/HIJを代入
この時点で、$ENV{QUERY_STRING} = KLM/OPQ
#ENV{PATH_INFO} = /HIJ
4) (1)から(2)の作業をする。
5) ファイルもディレクトリもなければ、
・・/HIJを切り捨てて、環境変数{PATH_INFO}に/EFGを代入
この時点で、$ENV{QUERY_STRING} = KLM/OPQ
#ENV{PATH_INFO} = /EFG/HIJ
4) (1)から(2)の作業をする。
・・・これをサーバーのトップまで実行します。・・・
ですので、ドメイン名以降の[/******」は、実体はなくても良いのです。極端な話、トップに[CGI]が置いてあって、それをディレクトリインデックスとして認識させていれば、ドメイン名以降の[/******」は実在の必要もないのです。
・・だから難しいといったでしょ・・・
例]こちらに良い見本があります。
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi
の後ろに任意のURLに使用できる文字を入れてみてください。
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/Lawye …
とか・・・/Lawyer_41以降は任意の文字列
なるほど、
ttp://ww.*****.com/local/このように変わったのを覚えていますが
これはどんな方法で設置しているのでしょうか?
についてですが無事に解決しました。
今後の参考になりました。
No.1
- 回答日時:
サーバーによっては、CGIは別のサーバーで動作させているものもありますが、ご利用のサーバーでは、任意の場所で動作可能ということです。
トップページ(index.htmlなど)を置くディレクトリに、普通にディレクトリを作り、さらにその中に作ればよいです。
ただし、必ずしもそのディレクトリが必要というわけでしなく、2ディレクトリは実在しなくても良い・・難しいかな。
この回答への補足
2ディレクトリは実在しなくても良い
というのは、ど言う事でしょうか?
以前、たまたまアクセスしたあるサイトでのことですが
CGIが使われていました。
トップ
ttp://ww.*****.com/okwave/
トップページからリンク先をクリックするとディレクトリ名が
ttp://ww.*****.com/local/このように変わったのを覚えていますが
これはどんな方法で設置しているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
異なるディレクトリからライブ...
-
CGI実行環境下の.jsや.cssが動...
-
cron設定時のディレクトリの絶...
-
CGIのフォームをアップロードす...
-
CGI初心者です
-
CSVファイルのパーミッションは?
-
EXCELファイルに誰がアクセスし...
-
KENT WEB(昨日の続きです)
-
Mac(snowLeopard)でPerlでウ...
-
表示を伴わないcgiは不可?
-
URLに~/cgi-bin/~を隠す方法
-
W3Cの合格基準について、ご質問...
-
カレンダー(スケジュール)を...
-
SSI で .cgi は引けますが・・
-
cgiが動作しないのは?
-
出欠を自宅サーバーで取りたい
-
perlを使用したcgiでの画像アッ...
-
ASPから既存のexcelブックを開...
-
LAN内に接続されているPCをリ...
-
SSIを使ってHTMLページにCGIを...
マンスリーランキングこのカテゴリの人気マンスリー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つの違いを教えて下...
おすすめ情報