人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在、PHPとMySQLでサイトを制作しています。

イメージのパスやリンクのパスで悩んでいます。
プログラムの変数をhtaccessを使用してスラッシュ区切りなどで静的な感じで表示しているのですが、
スラッシュで区切ると階層が深くなるので同じHTMLで作ったフレームを使うとイラストなどが表示されなくなってしまいます。
絶対リンクなどで記述すればよいのですが、自分のパソコンで制作しているときとレンタルサーバーにアップしたときだとドメインが変わってくるので、自分のパソコンで制作しているときが面倒です。
なにか、良い解決方法はありませんか?

●質問者: black_kenchan
●カテゴリ:ウェブ制作
✍キーワード:HTML MySQL PHP イメージ イラスト
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● k6nch6n
●15ポイント

質問の意味を取り違えているかもしれませんが・・・。

<img src="/foo/bar/...../image.png">

<a href="/foo/bar/...../index.html">

はどうでしょうか。

ローカルでもHTTP経由(http:?)で表示する必要があります。「file:?」の場合この方法は使えませんので、(すべてのフレームを同じ階層に置くなどして)相対パスで表記します。


2 ● danielocean
●15ポイント

原始的な解決方法ですが、

自分のマシンにApacheとMySQLを入れて、

レンタルサーバのディレクトリ構成と同じに設定して

作業していけば、個々のファイルにおける面倒は解決できます。

あとは開発用のツールを使うとかでしょうか。

http://eclipsewiki.net/eclipse/

変に書き方を変えて解決しようとするよりは、

なるべく実環境に合わせて開発したほうが良いと僕は思いますが・・・。


3 ● akkun_choi
●45ポイント ベストアンサー

期待されてる回答ではないかもしれませんが、

自分次のようにしてます。

スクリプトの絶対パスを定義したものを用意しておいて、

ローカルとサーバーで別の定義ファイルを読み込むようにしておきます。

そうしておいて、リンクは絶対パスのURLを必ず先頭につけるようにしてます。

ローカルなら

$script = "http://localhost/hoge/";

サーバーなら

$script = "http://example.com/";

のように別々で定義しておいて(切り替え可能にして)

echo "< img src=\"" . $script . "path/to/image\" />";

という感じです。(実際はSmartyを使ってます)

変に相対パスでやると複雑になるので、

絶対パスで解決するのが一番だと思います。

◎質問者からの返答

僕もまったく同じ感じで制作しています。

やっぱり、今のところこの方法が一番良いみたいですね。

有難うございました。


4 ● ootatmt
●15ポイント

ドメイン部分がない絶対アドレス(?)で記述すればいいのではないですか。

<IMG SRC="/images/aaa.gif">

これなら、ドメイン名が変わってもそのままアクセスできます。


1番の人と同じかも...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ