4

私は厄介な問題に取り組んでいます。大規模な Web サイトに変更を加える必要があり、そのソース コードは私の管理下にありません (下請け)。いつものように、サイトのローカル コピーを再構築して変更をテストします。問題は、画像、CSS、リンクなどの URL で使用されるほとんどすべてのパスが、ルート ディレクトリを指す相対パスであることです。

href="/style/main.css"

これは問題です。私はイントラネット サーバーで開発を行っており、このプロジェクトをネストされたディレクトリに配置しているため、プロジェクト ファイルへの URL は sth です。お気に入り

http://myIntranet.com/checkout/project

何が起こるかというと、最初の例のパスが正しく解決されないということです。そこで、ベースタグを使用して、リンクを解決するディレクトリを次のように設定しようとしました

パスが

href="style/main.css"

最初にスラッシュがありませんが、スラッシュが存在すると失敗します。これは、(私が思うに) リンクがタグの URI からではなく、サーバー ホストから解決されるためです。

それで...「/dir/file.html」リンクをサーバールート以外のルートから解決する可能性はありますか? または、パスからすべての先頭のスラッシュを手動で削除する必要がありますか (urgh)?

前もって感謝します。:)

4

1 に答える 1

1

Web サイトでローカル開発を行っている場合は、次のいずれかを実行できます。どちらも、ドキュメント ルート内のサブ フォルダーを操作する代わりに、プロジェクトをベース フォルダーに移動する必要があります。

別のポート上の仮想ホスト

Web サーバーで、別のリスニング ポート仮想ホストを作成します。

http://localhost:81再起動後、選択したポート番号として Web サーバーにアクセスできます。

同じポート上の仮想ホスト

(上記のように) 別の仮想ホストのみを作成しますが、必ず名前付き仮想ホスティングを使用してください。

再起動後、単純なテキスト エディターを使用して、hosts ファイル (c:\windows\system32\drivers\etc\hostsまたは)に別のエントリを追加する必要があります。/etc/hosts

127.0.0.1 localhost myproject1.self.com

上記の行はすでに存在しているはずなので、さらに名前を追加できます。

127.0.0.1 localhost myproject1.self.com myproject2.self.com

個人の好み

私は 2 番目のオプションが好きです。なぜなら、ポートや Facebook API のようなものをいじる必要がないからです。

これがすべて理にかなっていることを願っています。そうでない場合はお知らせください。

于 2012-05-16T05:21:38.860 に答える