• ベストアンサー

PHPでリンクを書きかえるか、baseタグを使うかどちらが良いか?

PHPを勉強しはじめた初心者です。 サイトに常に表示されているサイドバーをPHPでincludeすることにしました。 なのでページの階層によって、適宜リンクを書き換える必要があります。 私が思いつく方方法は3つほどあります。 (1)階層ごとに毎回PHPでリンクを書き換える。 (2)baseタグを使って、相対リンクの基準を一か所に固定する。 (3)絶対パスでリンクをする。 私としては(1)でやろうと思っていたのですが、なんとなく無駄が多いような気がしました。 ということで、(2)の方法で行こうと思っているのですが、baseタグを使うのはあまり気が進みません。 baseタグを使った例を今まで見たことがないので、そう思ってしまうのですが、常にサイドバーを表示させるような場合は、皆さんはどのようにしているのでしょうか? 他にもっと一般的な方法や、効率的な方法がありましたら、教えていただけると幸いです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nkzw_spl
  • ベストアンサー率75% (6/8)
回答No.1

(3)で解決しています。 ただ、http://~の絶対パスの記述ではなく。 <a href="/test.php">のような、「/」から始まるタグで書いています。 また、階層をなるべく分けないようにしています。

aiueo667
質問者

お礼

アドバイスありがとうございました。 とても恥ずかしいことに、今まで「/」から始まる絶対パスを知らず、httpから始まるのは絶対URIと言うそうですね、勉強になりました……。感謝します。 それで、さらに質問なのですが……、ローカルでPHPの動作確認をする場合は、http://localhost/ で確認をしています。 しかし、複数のサイトを運営しているため、http://localhost/サイト名/~ でサイトを管理しています。「/」から始まる絶対パスではローカルでうまく動作確認をすることができません。 何か解決策はないのでしょうか? nkzw_spl様のおかげで、かなりの疑問が解決されているのにも関わらず、追加で質問してしまい申し訳ありません……。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

そういうのはinclude_pathを使うとらくになりますよ。 http://jp.php.net/manual/ja/ini.core.php#ini.include-path

aiueo667
質問者

お礼

貴重な情報ありがとうございます。 とても画期的な方法ですね!今までの悩みがすべてなくなりました。 本当にどうもありがとうございました。感謝します!

すると、全ての回答が全文表示されます。

関連するQ&A