台灣最大程式設計社群網站
線上人數
530
 
會員總數:245218
討論主題:189090
歡迎您免費加入會員
討論區列表 >> 網站經營 / 合夥 / 證照 >> IIS, ASP.NET網站包含與對應的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
IIS, ASP.NET網站包含與對應的問題
價值 : 10 QP  點閱數:3790 回應數:10

樓主

wfsleek
初學者
8 93
1230 110
發送站內信

前輩好, 小弟對於IIS的設定很不熟, 只好厚臉皮上來請問一下

想請問說假如我的目錄結構是

c:\wwwroot\Default --網站A
c:\wwwroot\ProjectA --網站B
c:\wwwroot\ProjectB --網站C

================================
我本來的IIS設定是

預設的網站\Default --網站A
預設的網站\ProjectA --網站B
預設的網站\ProjectB --網站C

================================
我有一個固定IP, 假設是123.123.123.123, 外部可以用

123.123.123.123\Default --連到網站A
123.123.123.123\ProjectA --連到網站B
123.123.123.123\ProjectB --連到網站C

================================
假如說我今天希望

123.123.123.123 --連到網站A
123.123.123.123\ProjectA --連到網站B
123.123.123.123\ProjectB --連到網站C

可是目錄結構仍然維持

c:\wwwroot\Default --網站A
c:\wwwroot\ProjectA --網站B
c:\wwwroot\ProjectB --網站C

這樣要怎麼設定呢?

=====================================================
我有試過直接把預設的網站目錄對應到Default

不過出現錯誤訊息

The value for the 'compilerVersion' attribute in the provider options must be 'v4.0' or later if you are compiling for version 4.0 or later of the .NET Framework. To compile this Web application for version 3.5 or earlier of the .NET Framework, remove the 'targetFramework' attribute from the <compilation> element of the Web.config file.


可是我不太可能一個一個去處理底下全部的Project (裡面還包含PHP的東西)

請問正確的解法應該是怎麼做呢

搜尋相關Tags的文章: [ IIS ] , [ ASP.NET ] , [ 網站 ] , [ 包含 ] , [ 對應 ] , [ 路由 ] , [ 預設 ] , [ ROUTE ] ,
本篇文章發表於2011-01-17 11:28
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
從訊息來看
應該是您的web.config裡面的設定有問題
您是否用asp.net 4.0的方式開發,然後安裝的主機上面沒有.NET Framework 4.0呢??

本篇文章回覆於2011-01-17 11:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

wfsleek
檢舉此回應
在原本的設定上

123.123.123.123\Default --連到網站A
123.123.123.123\ProjectA --連到網站B
123.123.123.123\ProjectB --連到網站C


這都是可以正常跑的,

ASP.NET 4.0已經裝了, 應用程式集區也已經設定好
本篇文章回覆於2011-01-17 11:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

wfsleek
檢舉此回應
另外補充

OS是WINDOWS SERVER 2003,
IIS版本 6.0
=========================
我原先

c:\wwwroot\Default --網站A
c:\wwwroot\ProjectA --網站B
c:\wwwroot\ProjectB --網站C

預設的網站\Default --網站A
預設的網站\ProjectA --網站B
預設的網站\ProjectB --網站C

這樣的架構是可以正常跑的, 裡面的Project從ASP.NET 2.0 ~ 4.0都有, 也有PHP的程式

==========================================================
但是 我把網站A(Default)單獨設定給預設的網站

這樣直接打123.123.123.123, 可以正常的顯示 網站A

但是要連網站B跟網站C 就出現這樣的錯誤訊息
本篇文章回覆於2011-01-17 11:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

Sdany
捐贈 VP 給 Sdany 檢舉此回應
你也可以在 / 下
放一個網頁
會直接跳轉到 /Default/
本篇文章回覆於2011-01-17 12:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

wfsleek
檢舉此回應
您好, 我是希望能

輸入 123.123.123.123/ -->連到網站A

123.123.123.123/ProjectB -->連到網站B
123.123.123.123/ProjectC -->連到網站C
123.123.123.123/ProjectD -->連到網站D
.....
======================================
可是目錄結構想要維持
c:\wwwroot\Default --網站A
c:\wwwroot\ProjectA --網站B
c:\wwwroot\ProjectB --網站C


不過不知道要怎麼設定, 目前我只開一個預設的網站

預設的網站目錄設定為網站A, 下面在加虛擬目錄
本篇文章回覆於2011-01-17 12:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
網站、應用程式、虛擬目錄這三者是不一樣的

請教一下,您是要
c:\wwwroot\Default --網站A
c:\wwwroot\ProjectA --網站B
c:\wwwroot\ProjectB --網站C
還是要
c:\wwwroot\Default --網站A
c:\wwwroot\ProjectA --應用程式B
c:\wwwroot\ProjectB --應用程式C

還是其他??

其實您可以先不看他的實體路徑
先說說您的需求是要做成什麼樣的虛擬要求
網站??應用程式??還是虛擬目錄


本篇文章回覆於2011-01-17 14:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

wfsleek
檢舉此回應
喔喔 抱歉
應該是

c:\wwwroot\Default --網站A
c:\wwwroot\ProjectA --虛擬目錄B
c:\wwwroot\ProjectB --虛擬目錄C
本篇文章回覆於2011-01-17 15:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
虛擬目錄會的話,web.config會往上找,直到找到應用程式或者網站,然後以他為基準來運作相關的設定

應用程式的話,會自己有一份web.config
會以自己的web.config為優先,蓋掉root或者machine的設定
如果遇到自己web.config沒有設定到,卻須用到的,會往root找,找不到,再往machine.config找
底下可以有虛擬目錄

網站的話,除了自己有一份web.config外,他也會是站台的跟目錄,底下可以有應用程式,或者虛擬目錄

請您再次確定,您要的是虛擬目錄,還是Web專案(應用程式)
本篇文章回覆於2011-01-17 17:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

wfsleek
檢舉此回應
那個...

我原先的設定


預設的網站 -- c:\wwwroot (單純資料夾)
預設的網站\Default -- c:\wwwroot\Default --虛擬目錄A (ASP.NET 4.0 IIS網頁版本 ASP.NET 4.0)
預設的網站\ProjectA -- c:\wwwroot\ProjectA --虛擬目錄B (ASP.NET 2.0 IIS網頁版本 ASP.NET 4.0)
預設的網站\ProjectB -- c:\wwwroot\ProjectB --虛擬目錄C (ASP.NET 3.5 IIS網頁版本 ASP.NET 4.0)

這樣三個專案都可以正常跑是沒有問題的


但是我改成

預設的網站 -- c:\wwwroot\Default --網站A (ASP.NET 4.0 IIS網頁版本 ASP.NET 4.0)
預設的網站\ProjectA -- c:\wwwroot\ProjectA --虛擬目錄B (ASP.NET 2.0 IIS網頁版本 ASP.NET 4.0)
預設的網站\ProjectB -- c:\wwwroot\ProjectB --虛擬目錄C (ASP.NET 3.5 IIS網頁版本 ASP.NET 4.0)


這樣就只有網站A可以跑

另外兩個都不能跑


所以應該不是沒裝ASP.NET Framework 4.0的問題
本篇文章回覆於2011-01-17 17:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
可否描述一下另外兩個的其中一個
你的設定過程
這樣大家可以從您的描述步驟中,找出可能有問題的步驟
本篇文章回覆於2011-01-18 09:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.