asp.net mvc 4.6 在本地開發完畢,測驗正常,部署到IIS服務器,登錄頁面顯示正常,登錄提交就提示找不到資源,經分析下面的一些檔案路徑
web.config
<authentication mode="Forms">
<forms loginUrl = "~/login/login" timeout = "60" />
</authentication >
------------------------------------------------------------------------------------------------------------
route.config
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "login", action = "login", id = UrlParameter.Optional }
);
------------------------------------------------------------------------------------------------------------------------
表單提交
form.on('submit(login-btn)', function (data) {
$.ajax({
type: "POST",
url: "/login/login",
data: {
"loginName": data.field.loginName,
"password": data.field.password
},
success: function (result) {
if (result.code == 0) {
layer.msg(result.msg);
} else {
layer.msg(result.msg);
}
}
});
});
以上都是相對路徑,程式開發建立 的是 “phoneTest” 解決方案, ,部署到iis ,建立應用程式 也是 “phoneTest” ,但除錯登陸提交,路徑就變成了 http://192.168.1.6/login/login ,而不是 http://192.168.1.6/phoneTest/login/login,所以點登陸總是提示找不到 404 ,這個怎么配置了,每個地方都需要硬添加"phoneTest"路徑嗎?
uj5u.com熱心網友回復:
急急急!!!uj5u.com熱心網友回復:
url: "/login/login",改成
url: "login/login",
試試看
uj5u.com熱心網友回復:
試過了,還是不行uj5u.com熱心網友回復:
ajax 提交的相對路徑有問題,url: "login/login", url: "~/login/login", url: "./login/login",都不行uj5u.com熱心網友回復:
把呼叫的地址查出來,然后,去你的應用程式中(已部署的檔案夾)中,查看,是否有該檔案。WEB的問題,70%以上,都是路徑的問題。我算是玩出來了。
uj5u.com熱心網友回復:
是不是js檔案就沒加載出,你看看你的js檔案在不在,我之前也發過一篇這樣的求助帖,很多人各種各種指導,最后發現是自己的IIS配置沒齊全,和你遇到的問題差不多uj5u.com熱心網友回復:
/login/login這就是根目錄下面的login。你這預期中的“phoneTest/login/login”phoneTest是哪來的?虛擬目錄?你建的不是獨立站點嗎?
你說的登錄頁面正常。登錄頁面訪問地址是什么?
uj5u.com熱心網友回復:
登錄頁面:http://192.168.1.2/phoneTest/login/loginphoneTest iis建立的應用程式 ,login 控制器 后一login是action
現在頁面好多地方都添加@Url.Content('~/xxxx') 解決,好麻煩啊,有別的方法嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/231927.html
標籤:ASP.NET
