2

社内の WAMP サーバーで開発したサイトがあり、オフサイト (おそらく Apache サーバー) でホストされています。サイトは、WAMP サーバーのルート ディレクトリ (C:\wamp\www) に作成されました。現在、社内開発サイトを Windows Home Server v1 ボックス (基本的に IIS 6 を実行している Server 2003 マシン) に移動しようとしています。私はサイトの 2 つの異なるバージョンを持たないようにしています。1 つは社内用 (IIS 上) で、もう 1 つはオフサイトのホスティング用 (Apache 上) です。

WHS マシンには、次の<sitename>場所に仮想ディレクトリがあります。

c:/inetpub/<sitename>

サーバー上の次の場所にアクセスできます。

Localhost/<sitename>

LAN 上のどこからでも:

<ServerName>/<sitename>

最初にサイトを作成したとき、ほとんどすべてのファイル、パス、ディレクトリ、および PHP インクルード ファイルに ../ 宣言を使用しました。これは、WAMP サーバーとオフサイト ホストで正常に機能します。しかし、サイトを仮想ディレクトリに移動する<sitename>と、IIS サーバーで失敗します。

このような ../ 参照はすべて、サーバー ルートを指します。

<ServerName>/

サイトホームではなく:

<ServerName>/<sitename>

おそらく、サイトを「ルート」ディレクトリ (c:/inetpub/wwwroot) に移動することもできますが、Windows Home Server はこれを別の目的で使用します。

すべての参照を ../ から に変更することもできます../<sitename>/が、それは、社内用とオフサイト用の 2 つの異なるサイトを維持することを意味します。

それで、私の質問は...

  1. 仮想ディレクトリc:/inetpub/<sitename> がこの 1 つのサイトのホーム ディレクトリまたはルート ディレクトリであることを宣言する方法はありますか? この1つの仮想ディレクトリに対してこれを行い、このサーバーでホストされている他のサイトを混乱させないIISの構成はありますか?

そうでない場合;

  1. Apache と IIS 6 の両方で、2 つの異なるサーバーをまったく変更せずに、または最小限の変更で実行できるように、サイトを書き直す他の方法を教えてもらえますか?

私はこれについて一週間以上探していました。私が見つけたすべてのソリューションは、Apache または IIS に固有のものですが、両方では機能しません。

ありがとう!

4

1 に答える 1

0

わかりました、ここに-可能な-答えがあります...

私はすべて../をPHPincludeステートメントに変更し、名前を付けたファイルを呼び出しましたSiteBase.txt

IISサーバーでは、SiteBase.txtは次の1行で構成されますhttp://<ServerName>/<sitename>/

WAMPサーバーでは、SiteBase.txtは次の1行で構成されます。../

このように、サイトを開発サーバーから本番サーバーに移動するときに、この1つのファイルを変更するだけで済みます。少しブルートフォースですが、機能しているようです。

誰かがこれに問題があると思いますか?

ありがとう!

于 2012-10-19T03:06:28.590 に答える