Visual Web Developer 2010 Expressのプロジェクトで、この小さな、しかし厄介な問題が発生しました。www.domain.com/group1/type1/somefile.aspxなどの大きなフォルダー構造に.aspxファイルを配置したWebサイトを開発しています。ルートフォルダーには、「styles」(cssの場合)、「images」、「js」が含まれています。 "(javascriptsの場合)フォルダー。今日、ベースタグ、絶対パス、相対パスについてたくさん読みました。ついに私は「絶対的な道」が私にとって最良の選択であることに気づきました。
主な問題は、ブラウザで自分のサイトを(ローカルで)プレビューすると、画像、css、およびjsの絶対リンクが機能しないsrc="/js/gl.jquery.js"
場合、正しく、オンラインで機能すると思われるものを使用していることです。
javascriptのページのソースコードは、http://localhost:61700/js/gl.jquery.js
相対パスに切り替えてscript src="../../../js/gl.jquery.js"
Webサイトをプレビューすると、正常に動作し、javascriptパスのソースコードはhttp://localhost:61700/ProjectName/js/gl.jquery.js
(Visual StudioがパスにProjectNameを追加したことに注意してください)と言っています。プロジェクトが(メインドメインで)オンラインになると正しく機能すると思いますが、今はこの問題なしにローカルで開発を続ける必要があります。Visual Web Developerでこれを修正する方法はありますか?オンラインになったときに削除できるweb.configファイルのタグ、またはWebサイトのプロパティでしょうか。
相対パスを使用して迅速な解決策を開発し、絶対パスにオンラインになったときにコードを変更することはわかっていますが、追加情報として、読んだためにベースタグを選択しなかったため、よりクリーンな方法を探しています。リンクを固定し(href = xx.html#question3)、いくつかの大きなファイルでそれらを使用する必要があります。また、会社からファイルの移動を求められる可能性があり、相対パスを更新したくないので、相対パスは避けてください。
どうもありがとう!