我正在尝试设置我的开发环境,这样当我运行项目时它会打开为 https://localhost:44300 ,但由于某种原因,页面打开时带有斜杠,即 https://localhost:44300/
阅读Remove Trailing Slash in ASP.NET MVC 4 Route to Application Root后,我无法使用其中的任何建议进行出站重写,以使尾随斜杠消失。我没有尾随斜线的动机是出于搜索引擎优化的目的。我们的搜索引擎优化人员在任何情况下都不需要斜杠。
public static void RegisterRoutes(RouteCollection aRoutes)
{
aRoutes.IgnoreRoute("{resource}.axd/{*pathInfo}");
aRoutes.AppendTrailingSlash = false;
aRoutes.LowercaseUrls = true;
aRoutes.MapRoute("Default", "{controller}/{action}/{id}", new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
}
我的项目设置是:
我也尝试过以下重写规则,但它没有任何区别:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<rewrite>
<rules>
<!--To always remove trailing slash from the URL-->
<rule name="Remove trailing slash" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
那么当我打开默认路由时,如何让尾随斜杠不在那里?所有其他路线,例如/ MyRoute /最终按预期结束即/ MyRoute。