1. 首页
  2. 文章列表
  3. ASP.NET Core通过URL重写将www的域名301到不带www的域名和强制使用https访问网站

之前写过一篇IIS通过URL重写将www的域名301到不带www的域名和强制使用https访问网站的文章,突然想到,ASP.NET Core的还没写,今天补上吧。

虽然VisualStudio创建ASP.NET Core网站应用的时候会有个【启用https】的选项,但是,实际现象是,这选项似乎没什么卵用,之前经过大量的google和百度,也不好找到这方面的资料,于是只能考虑url重写的方式了,同样,无论是出于安全还是搜索引擎优化的原因,我们都希望网站在访问多个类似的域名时,最好能重定向到统一的域名,比如博主的网站可以通过以下这些域名来访问:

http://www.masuit.com

http://masuit.com

https://www.masuit.com

懒得勤快的博客_互联网分享精神masuit.com|ldqk.org|ldqk.xyz|masuit.tk|ldqk.tk

https://masuit.com

但是,我并不希望访问上面这些不同域名出现相同的页面,这对SEO来说也不友好,所以我们需要将上面这些地址都统一的永久重定向到https://masuit.com,那么怎么来实现呢?

当然,你可以说通过挂nginx、CDN、DNS等外部的方式实现URL重写,这确实也是一种解决方案,但博主我就一穷逼,家境贫寒,买不起高配的服务器,买不起CDN,也买不起高级的DNS套餐,所以只能造轮子咯,自己动手,丰衣足食!
懒得勤快的博客_互联网分享精神masuit.com|ldqk.org|ldqk.xyz|masuit.tk|ldqk.tk

穷逼就有穷逼的活法,当然ASP.NET Core应用程序也可以挂到IIS上,通过IIS进行重写,但基于性能考虑,还是直接dotnet命令行裸奔吧,通过写代码的方式实现URL重定向。

代码实现

ASP.NET Core为我们提供了非常多的内置的URL重写中间件Rewriter,我们只需要写自己的规则就好了,一句话实现url重定向:

懒得勤快的博客_互联网分享精神masuit.com|ldqk.org|ldqk.xyz|masuit.tk|ldqk.tk
app.UseRewriter(new RewriteOptions().AddRedirectToNonWww(301));

现在,ASP.NET Core网站应用的裸奔重写即实现,相比IIS,其实简单太多了。

博客关联代码实现:https://github.com/ldqk/Masuit.MyBlogs/blob/86b5336bab4b7e22119e14a523850d925b02fa30/src/Masuit.MyBlogs.Core/PrepareStartup.cs#L111


如果你喜欢这篇文章,欢迎点赞、评论、分享本文!

文章历史版本:

修改次数:1 次 查看历史版本

相关推荐:

下载神器——InternetDownloadManager(IDM) 6.39.3简体中文学习版 Windows+Office激活工具——AAct v4.2.4/ AAct Network 1.2.1 汉化版
官方正版特价!Internet Download Manager IDM 下载神器 RedGate全家桶SQL ToolBelt 3.1/.NET Reflector 11.1/SQL Prompt 10.7.2学习版下载
全面的C#编码规范整理 博主开源项目——本站博客项目MyBlogs.Core,基于.NET 5
.NET数据库建模神器——LinqConnect 4.9.2119/EntityDeveloper 6.11.1297 Professional完美学习版 本站千星开源项目——.NET万能框架:Masuit.Tools_2.4.4.7版本发布
.NET控件库——Telerik 2021R3全家桶学习版 ASP.NET Core MVC/WebAPI中另辟蹊径的全局统一异常处理方式

版权声明:

本文仅用于学习、研究和交流目的,欢迎非商业性质转载。本文链接:https://masuit.com/1770

● 下载遇到问题,请先阅读网站公告!如遇资源报毒,请参阅:https://ldqk.org/misc/14

● 文章内容仅供参考,所涉及的软件以具体使用情况为准!

● 博主在此发文(包括但不限于汉字、拼音、拉丁字母)均为随意敲击键盘所出,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能,并不代表本人局部或全部同意、支持或者反对观点。如需要详查请直接与键盘生产厂商法人代表联系。挖井挑水无水表,不会网购无快递。

● 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。

● 博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章,请原谅博主成为一个无耻的文档搬运工!

● 文章内容部分来源于互联网,本站不代表任何立场;涉及到的软件来源于互联网,仅供个人学习参考,请勿用于商业用途,版权归软件开发者所有,下载后请务必于24小时内删除,请支持正版!因下载本站任何资源造成的损失,全部责任由使用者本人承担!如果你是版权方,认为本文内容对您的权益有所侵犯,请联系本站管理员,并参照侵删联系的说明提交相应的证明材料,本站将进行严格地资质审查和背景调查后,情况属实的将在三天内对本文删除或修正。本站对互联网版权绝对支持!

● 本站一贯非常高度重视知识产权保护并遵守各项知识产权法律、法规和具有约束力的规范性文件。重视正版,打击盗版。根据法律、法规和规范性文件要求,本站旨在保护权利人的合法权益的措施和步骤,当权利人发现在本站生成的链接所指向的第三方网页的内容侵犯其合法权益时,权利人应事先向本站发出"权利通知",本站将根据当地法律法规和政府规范性文件采取措施移除相关内容或链接。 

● 访问本站的用户必须明白,本站对提供下载的第三方软件不拥有任何权利,其版权归该资源的合法拥有者所有。

● 本站保证站内提供的所有可下载资源(软件等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。不论何种情形我们都不对任何由于使用或无法使用本站提供的信息所造成的直接的、间接的、附带的、特殊的或余波所及的损失、灵失、债务或中断负任何责任﹝不论是可预见或是不可预见的,即使我们巳被告知这种可能性﹞。

评论区:

验证码:
    验证码: