2009-10-04 20 views
17

WebサイトのサブフォルダにASP.NET Webサイトを実行する方法はありますか?サブフォルダでASP.NET Webサイトを実行

例として、自分のウェブサイトで「wiki」というフォルダにscrewturn wiki(http://www.screwturn.eu/)を実行したかったとします。スクリューターンウェブサイトのweb.configを変更して、 "wiki"フォルダ? ( "〜/" = "/ wiki /"と言っているような)

wikiは "/ wiki/bin"の "〜/ bin"にあるアセンブリを見つけ、その下の他のすべてのフォルダ新しいルート。

+1

私はウィキのために作成された新しいサブドメインを持っていたので、サイトはルートWebサイトになります。 –

答えて

13

ケーキは、IIS Webサイトのルートに仮想ディレクトリを追加し、サイトのパスをポイントするか、Webサイトのルートに物理ディレクトリを配置してから、アプリケーションを右IIS管理コンソールでそのプロパティをクリックし、プロパティに移動してアプリケーション名の横にある[作成]をクリックします。

+0

私はそれについて言及しませんでしたが、私はWebサーバーのコントロールを持っていません。しかし、これは、私が取ったソリューションに最も近い、サブドメイン(wiki.mydomainname.org)を作成することでした。私はこれを答えとしてマークします。なぜなら、ISPsボックス上のIISにアクセスしていれば、あなたの提案が目印になっているからです。 –

+0

私はこれを疲れましたが、現在IISはログインページのコードビハインドクラスを見つけることができないと訴えています。サブサイトは親と同じdllを継承しますか?サブサイトのページクラスのログインはVSのすべての同じプロジェクトとしてメインサイトのDLLにコンパイルされているためです。 – James

+1

フォルダ内に完全な自己完結型のアプリケーションが必要です。存在しない場合は、存在しないbinディレクトリを探します。 –

-1

短い答えは可能です。 Web.Config内のフォルダの場所を指定する必要はありません。

+0

私はwikiフォルダにweb.configを持っています。 "/ wiki/bin"はランタイムによって自動的に検出されます。 –

+0

しかし、ページは読み込みに失敗し、 "ファイル '/MasterPage.master'は存在しません。" aspx pageディレクティブはMasterPageFile = "〜/ MasterPage.master"です。問題は "/MasterPage.master"ではなく "/wiki/MasterPage.master"に私がどのようにしてそれをするかです。 –

+0

"wiki"フォルダはIISのアプリケーションとして構成されていますか? –

0

私はこれを最近やっていて、wikiフォルダをアプリケーションにしていた(前回の回答で示唆したように)私はWikiアプリのトップレベルにダミーの 'App_Themes - > Default'親アプリのWeb.configに<pages styleSheetTheme="default" theme="default">タグが存在するためです。小さなハックだけど、それはAsp.Netで自分のスタイルを設定するのが好きなやり方だし、それを変更したくない。

9

ルートweb.configファイルの設定継承を停止して、wiki web.configがルートweb.configから何も読み取らないようにする必要があります。

+1

上記リンクのライブサイトは死んでいます。キャッシュされたコピーは、[ここ](http://web.archive.org/web/20131024031827/http://www.aspdotnetfaq.com/Faq/how-to-disable-web-config-inheritance-for-子アプリケーションのサブフォルダ内のasp-net.aspx) – Fuchida

+0

アーカイブのためにキャッシュされたコピーが取得されました。orgのrobots.txtポリシー –

+0

https://stackoverflow.com/questions/782252/avoid-web-config-inheritance-in-child-web-application-in-inheritinchildapplic – VDWWD

4

他の人が指摘したように。基本的にはあなたの子アプリケーションWeb.configにこれを入れる必要があります。もちろん、ドメイン(サブドメインなど)、IISの設定も必要です。

<configuration>  
    <location path="." inheritInChildApplications="false"> 

    //your code here 

    <system.web> 
     //your code here 
    </system.web> 

    //your code here 

    </location>  
</configuration> 
+0

web.configに ' 's'がある場合は、それらは ''タグの外にあるはずです。 –

関連する問題