2010-11-30 2 views
0

私たちの基本的な企業の静的なhtmlウェブサイトは、私たちのウェブルートディレクトリと/ポータルにインストールされた課金ソフトウェアにインストールされています。私は/menu.tpl smartyテンプレートファイルを/portal/header.tplファイルに含めて、単一のサイトのように見えるようにウェブサイトを統合しました。しかし、相対URLを使用すると、メニューsysemは、請求スクリプトのベースURLが/ portalであるため動作しません。つまり、menu.tplにfaq.phpへのリンクを作成し、ポータルサイトでページを読み込むと、メニュー内のfaqページへのリンクが/portal/faq.phpになり、ページをロードするとルートサイトはリンクが/faq.phpである必要があります。2つのベースURLを持つウェブサイトでの相対URLの使用方法

明白な答えは、絶対URLを使用することですが、インストールしてテストする必要がある多くの開発者がいるので、ポータルサイトが必要です。

私はこれを解決するためにとにかく見つけることができません。何か案は?

答えて

0

私はしばらく前に、あなたと同じ問題に遭遇した、と行き止まりの多くを試した後、私は最終的に以下の解決策になってしまった:、あなたがchamelionする必要が任意のURLについて

  1. つまり、環境に応じてパスを変更するには、正しいURLを書き出すPHP関数を挿入します。
  2. PHP関数を1つの中央ファイルからインクルードすると、設定に基づいてサイト全体のURLをすべて自動的に変更できます。たとえば、現在のドメイン名などの既定のスイッチを使用することができます。

例:

<?php print_base_url_plus("/menu.php"); ?> 

... print_base_url_plus()は、出力にベースURLを付加する機能です。

URLの一部をPHPに変更する必要がある場合があります。そのため、PHPエンジンで事前処理されているか、標準の.htmファイルがPHPエンジンを介してパイプされるようにWeb設定を変更できます。 .phpファイルと同じです。

関連する問題