しょうもない質問ですみません。
絶対パス指定を基本としたウェブサイトを構築しようとしているのですが、ローカルの環境ではチェックがままなりません。
リンクや画像の指定に、「./」や「../」を使わず、
「/~.html」などとしたいのです。
でも、ローカル(この場合、WinXP)ではディスクの直下にファイルを保存しても、
file:///c:/index.html (cドライブの場合)となってしまい、絶対パスで「/index.html」と指定した際に、ローカル環境でリンクされる「file:///index.html」と違ってきてしまい、うまいこと製作が進みません。
この場合、どうしたら簡単にローカル環境にサーバーと同様の環境を再現できるのでしょうか?
No.6ベストアンサー
- 回答日時:
私もオフトピで。
>>そこまで巨大なサイトを作らないので。
>小規模サイトなら相対パスで十分ということですね。
ちょっと理由があんまり正しくありませんでした。(というか適当に書きました。すいません)
小規模でも絶対パスのほうが有用なのかもしれません。
相対パスを使う理由としては、絶対パスはサーバによって違う場合があるから。
特にレンタルサイトなんかを使っていると違う場合が多かったです。(何年も前の事です。最近の事情は知りません。)
引っ越すとトップからの絶対パスが違うがためにリンクを全て書き直すなんて手間がかかります。(一括置換って手もあるけど、頻繁にやらない作業ってのは危なっかしいし)
そんなわけで企業付きのサイト構築をする業界人は別として多くの個人サイト製作者は相対パスを使います。
また、絶対パスを知らなかったりURLと混同している場合も多いようです。
あと、個人的にはCGIの配布なんかやっているので絶対パスはご法度だったりします。
ご回答有難うございます。
なるほど、言われてみれば確かにそうですね。
現状の環境にしか目が行っていませんでしたが、サーバーによっていろいろな環境があることは想定していませんでした。ルートから違ったりするとややこしそうですね。
現状の環境のみを見ると、絶対パスのほうが有用であることは間違いないのですが、トータルで考えると疑問に思えてきました。
No.5
- 回答日時:
アドバイスって言うかオフトピです。
>WebDeveloperという開発向けプラグインが便利で、
一応Firefoxに機能を追加するものとしてのプラグインという表現は間違いということになります。「拡張機能」が正です。
http://www.mozilla.gr.jp/news/topics/viewonetopi …
あと、同じ場所からIE向けのWeb開発ツールも出ているのでそちらも利用されると便利ではないでしょうか?
ご回答有難うございます。
やはり、WebDeveloperは、いちど使うと手放せない「拡張機能」なので、こちら重視でやっていこうと思います。
(個人的に、IEというかMSの作るアプリがキライという事も多分に影響していると思いますが)
No.4
- 回答日時:
サーバソフト(AnHTTPdやApach)をインストール/起動して、PCをサーバ化すればよいかと。
「自宅 サーバ」とかで検索すると情報が得られると思います。
CGIのテストなどではよく使われます。
ただしCGIを動作させる事が目的であって絶対パスはあまり(というか全く)使いませんね。
そこまで巨大なサイトを作らないので。
ご回答有難うございます。
やはり、その領域に足を踏み入れないとならなくなりますね。もしかしてサーバーを立てずに何か擬似的に再現できる方法がないかと探していたのですが、やはりムリそうです。
>そこまで巨大なサイトを作らないので。
おっしゃるとおりです。小規模サイトなら相対パスで十分ということですね。
No.3
- 回答日時:
まさに、wba013 さんと同じ問題に遭遇してました。
多量のHTMLの見本と、JSPによる実装の関係でした。
で、私の解決策は・・・
1.ファイル中の「/~.html」の、先頭の「/」の記述は全て外す。
2.<base href=~> をJavaScript化。
3.パスを定義した外部スクリプトファイルを用意する。
・ローカル用(相対パスで済む場合)
var urlBase="./";
・ローカル用(絶対パスが必要な場合)
var urlBase="ile:///c:/";
・サーバー用
var urlBase="/";
もちろん、ローカルでもサーバーでも外部スクリプトファイル名は同じにします。
---------------------------------
実際のコーディングは、外部ファイルurlBase.jsとして・・・
<SCRIPT src="urlBase.js"></SCRIPT>
<SCRIPT>
document.write('<BASE href="'+urlBase+'">');
</SCRIPT>
・・・どうでしょ?これで解決できませんか?(笑
ご回答有難うございます。
うわぁ、、、JS化ですか!
たしかに、コレなら解消しそうですが・・・。
なかなか容易にはいかないようですね。
No.2
- 回答日時:
全然自信ないですけど。
何が目的でそんなことを目指していらっしゃるのか分かりませんが、
仮に私が同じことをしないといけなくなったとしたら、サーバーにアップロードするぎりぎりまでfile:///C://~~で放っておいて、最後の最後でテキストエディタかSpeeeeedっていうソフトで一括置換すると思う。
ご回答有難うございます。
絶対パスって、そんなにニーズ低いんでしょうか・・・。
jsやcss、imgなど、外部ファイルの呼び出しが多ければ多いほど、ディレクトリが多ければ多いほど、絶対パスでの記述のメリットって大きいと思うんですが・・・。
No.1
- 回答日時:
なぜ絶対パスにこだわられるのかわかりませんが、ローカルでチェックするために思いつく手法としては、
・<base href=~>を利用する。
あらかじめ、baseでリンク先のURL(ローカルではパス)を指定しておきます。
ファイルを指定する場合は、相対指定と同じ書き方になりますが、
意味合い的には絶対指定です。
ローカルでチェック後、baseのURLを書き換えてアップします。
http://www.tohoho-web.com/html/base.htm
・テキストエディタで一括置換
とりあえずローカルチェック時にはパス指定をfile:///c:/~としておきます。
動作確認後、テキストエディタの一括置換を用いて、パスをhttp://~に
すべて置換してからアップしてはいかがでしょう?
こんなふうではダメでしょうか?
この回答への補足
WebDeveloperという開発向けプラグインが便利で、Firefoxを使っていたのですが、試しにIEでやったところ、/で始まる絶対パス指定で「file:///c:/index.html」となり、問題はなさそうです。
でも、やはり基本的に確認はFirefoxで行いたい(IEは最後の最後、表示チェックだけ)ので、引き続きお願いいたします。
ご回答有難うございます。
自分で作っている小規模サイトなので、とくに/で始まる絶対パスでないとダメという訳でもないのですが・・・。
大規模サイトでは、階層も多く深さも様々なページが大量にあり、cssや共通画像は必ず/で始まる絶対パス指定になっています。そうしないと管理し切れなかったり、リンクミスが発生するためです。
一応、仕事のほうでも大規模なサイトに少しだけ関わっているのですが、そこもグローバルナビやロゴなどの画像、JSファイル、CSSファイルなどは全て/で始まる絶対パスです。
管理をラクに、というのが一番の目的です。
やはり、ローカル環境用のソースで、アップ時に一括置換などで対応するしかないんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLでDBからデータを表形式で...
-
saved from url=(0013)abou
-
Windowsサーバーで動いている無...
-
<FORM><BUTTON>タグを利用して...
-
ハローワークインターネットサ...
-
【JavaScript】confirmのボタン...
-
DirectXとOpenGLはどちらが動作...
-
JSTLを利用してJavascriptの結...
-
SRAM製品の同期・非同期の違い
-
jQuery.msgBoxでのthisの使用に...
-
Ajaxでsessionにいれた値が引き...
-
ATM(非同期転送モード)に...
-
C# 非同期処理で複数のメソッド...
-
enchant.jsで動作するブラウザ
-
Rを使う際、データを読み込む時...
-
may be mail server is downと...
-
[JavaScript] preven...
-
非同期関数とノンブロッキング...
-
サーブレットはサーバーと同期...
-
PHPのプログラムが同時に呼び出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
saved from url=(0013)abou
-
リンクを押すとEXEファイルを実...
-
subversionでコミットしたらftp...
-
HTMLでDBからデータを表形式で...
-
ローカル用HTMLファイルの安全...
-
アップロードするとレイアウト...
-
Flickity で画像にリンクを貼る...
-
ソースのリンク先などの暗号化...
-
テーブルで作った表をボタン操...
-
HTMLファイルにテキストファイ...
-
htmlからhtaへのリンク
-
動的なウェブページをつくるた...
-
ホームページ上に外部のテキス...
-
NetBeansのFTP機能について
-
ハローワークインターネットサ...
-
制作したサイトが文字化けして...
-
suEXECとパーミッションの関係...
-
ホームページ IEのセキュリ...
-
インターネット上のファイルサ...
-
ローカルにあるhtmlをブラウザ...
おすすめ情報