我有一个.NET Core网站,该网站已成功发布,并且在以下两种情况下都能很好地工作:
但是,作为新网站托管在IIS上使我不得不指定要使用的新端口并由它访问(localhost:5000
)。
但是我想像localhost/mywebsite
这样将其作为域本身来解决。据我了解,这可以通过使用默认网站或通过使用端口80创建新网站并禁用默认网站来完成。但是我无法禁用默认网站。
当我尝试将我的网站添加到默认网站时,我遇到了很多错误,因为最终,路由效果不佳。例如,主页工作正常(例如localhost/mywebsite
),但是当我单击一个按钮进入登录页面时,我会直接路由到localhost/login
而不是localhost/mywebsite/login
。
其他信息:
已发布文件夹:发布后,我有2个文件夹:wwwroot
,runtimes
。除此之外,我还有所有的配置文件和二进制文件。
web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\mywebsite.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>
资源位于项目的wwwroot中。包含的资源包括JQuery和图像。当在Default Web Site
下用作应用程序时,这些命令也不起作用。
第一个评论请求的示例发布方法:
<form method="post" enctype="multipart/form-data" action="/Login/Login">
<table style="border: none">
<tr>
<td>
Username:
</td>
<td>
<input type="text" name="username" required />
</td>
</tr>
</table>
<input type="submit" value="Log-In" />
</form>