Tôi đã được giao nhiệm vụ thêm chức năng vào trang web IIS 6.0 hiện có. Để làm điều đó, tôi đã xây dựng một ứng dụng ASP.NET MVC. Nó hoạt động tốt khi triển khai như là trang web riêng của nó, nhưng dường như không hoạt động khi tôi cố gắng triển khai nó như là một thư mục ảo trên trang web thực tế mà nó cần để sống.Tại sao thư mục ảo IIS của tôi hoạt động với http: // localhost nhưng không phải http: // computername?
Tên máy chủ là CWEBSERVER và IP là 192.168.1.11. Từ nhìn vào IIS Manager, đây là cấu trúc trang web:
(Default Website) (root)
- PRODUCTION (vDir)
- CONTENT (not a vDir)
- DATAFOLDER (vDir, contains MVC app, just added by me, not working)
Điều lạ là khi tôi gõ URL sau từ trình duyệt trên máy chủ hoạt động:
http://localhost/DATAFOLDER/account.aspx
http://127.0.0.1/DATAFOLDER/account.aspx
http://192.168.1.11/DATAFOLDER/account.aspx
URL sau (đó là cái mà tôi CẦN làm việc) không:
http://CWEBSERVER/DATAFOLDER/account.aspx
Lỗi tôi nhận được là "Không thể tìm thấy tài nguyên".
Sau khi nhìn kỹ hơn, tôi nhận ra rằng các yêu cầu tới http://CWEBSERVER sẽ chuyển đến PRODUCTION vDir, nhưng các cuộc gọi tới http://localhost hoặc http://192.168.1.11 sẽ chuyển tới thư mục gốc của trang web. Tôi đoán đây là một cái gì đó thiết lập bởi các nhà thiết kế trang web ban đầu. Tôi không chắc chắn làm thế nào để thay đổi thiết lập này, nhưng tôi không nghĩ rằng tôi có thể thay đổi nó anyway bởi vì có thực sự là một tấn thư mục khác mà sẽ bị ảnh hưởng. Điều khác tôi muốn chỉ ra là: thư mục CONTENT có thể truy cập bằng cách truy cập http://CWEBSERVER/CONTENT. Điều này thực sự kỳ lạ vì tôi nghĩ rằng http://CWEBSERVER chỉ cho tôi vào thư mục gốc, vì vậy tôi sẽ không nghĩ rằng "/ CONTENT" thực sự có thể truy cập vào thư mục CONTENT.
Bây giờ vấn đề của tôi là: làm thế nào để tôi có thể truy cập DATAFOLDER qua http://CWEBSERVER/DATAFOLDER? Tôi sẽ nghĩ rằng tôi chỉ nên đặt DATAFOLDER vDir vào bên trong của vDir PRODUCTION. Tôi đã thử nó, và sử dụng localhost hoặc IP này vẫn truy cập qua:
http://localhost/PRODUCTION/DATAFOLDER/account.aspx
http://127.0.0.1/PRODUCTION/DATAFOLDER/account.aspx
http://192.168.1.11/PRODUCTION/DATAFOLDER/account.aspx
Khi tôi sử dụng CWEBSERVER, tuy nhiên, nó vẫn không:
http://CWEBSERVER/DATAFOLDER/account.aspx
Các lỗi vẫn "Các tài nguyên không thể là tìm.". Bất cứ ai có thể làm sáng tỏ về điều này? Cụ thể, tôi có các câu hỏi sau:
- Làm cách nào để http://localhost chuyển đến thư mục gốc và http://CWEBSERVER chuyển đến PRODUCTION vDir? Tôi có thể thay đổi cài đặt này ở đâu?
- Tại sao "http://localhost/PRODUCTION/DATAFOLDER/account.aspx" hoạt động nhưng không "http://CWEBSERVER/DATAFOLDER/account.aspx"?
Câu trả lời được chấp nhận cho câu hỏi này (mà tiền thưởng sẽ được trao cho) sẽ cần để có thể làm cho nó để tôi có thể truy cập http://CWEBSERVER/DATAFOLDER/account.aspx. Cảm ơn!
lỗi gì là bạn nhận được? –
ping cwebserver và sử dụng địa chỉ ip đó trong url của bạn và xem có hoạt động không. điều này sẽ cho bạn biết nếu nó là một vấn đề dns/tường lửa hoặc nếu nó là một vấn đề iis –