采用二级域名带来的问题及解决方法
先向大家表示歉意,今天为了解决二级域名引起的一系列问题,频繁更新服务器上的程序,影响了大家访问博客园。每次更新dll后,ASP.NET运行时都需要花将2分钟左右进行编译,有时仅改几行代码,也要付出这样的代价。ASP.NET这个郁闷的问题让我在访问高峰期不敢更新程序,今天二级域名的问题比较重要所以只能忍痛更新。而ASP.NET运行时第一次编译时,访问博客园会出现“Runtime Error”错误,别人还以为网站出了问题,博客园觉得自己好冤枉,可是有什么办法呢?别人又不知道实际情况。看来要采用一种方法,在编译时,拒绝用户请求,并提示用户“系统正在编译,请稍候访问”,甚至可以播放一段音乐,这样多友好
。
采用二级域名,第一个遇到的问题就是如何与以前的访问方式保持兼容,不仅可以通过新的二级域名进行访问,还可以通过原来的地址访问。因为搜索引擎、别人的地方的引用,都是原来的地址,所以兼容以前的访问方式是必要的, 这个问题可以通过分析URL, 判断当前请求是二级域名还是主域名,如果是二级域名就按二级域名的方式进行处理,否则按以前的方式进行处理。
第二个问题是Cookie问题, 改程序前我对这个没经验,没想到这个问题,采用二级域名才发现,而处理这个问题也走了弯路,关于这个问题的处理,请看关于二级域名Cookie的问题及解决方法,幸亏NoFile的指点,才找到一个简单有效的解决方法。早知道有这个方法,昨天我也不用熬夜了。在这里再次感谢NoFile的帮助!同时感谢Zendy的热心帮助!(后来发现NoFile的方法在Firefox中无效,在Firefox中查看cookie, http://cnblogs.com下登录生成的cookie的域名是cnblogs.com,而不是.cnblogs.com,而Zendy的方法在Firefox中是有效的,生成的cookie的域名是.cnblogs.com, 再次感谢Zendy)
第三个问题是二级域名中带有“_”符号引起的问题,这个问题是心仪发现的,不然我怎么也不会想到这个问题, 她以前的Blog地址是:http://xin_yi.cnblogs.com ,登录时验证码不能正确显示,我访问她的Blog, 发表评论或联系时,验证码都不能正确显示,实际上本就不应该显示验证码,因为我已经登录,估计心仪访问时也应该是已登录状态。显然是cookie的问题,一开始怎么也没想到是二级域名的问题,后来发现这个Blog与其他Blog的不同之处就是名称中带有“_”符号, 是不是这个引起的?去掉“_”一试,果然罪魁祸首就是它。怎么解决这个问题呢?费话!既然是“_”符号引起的,把Blog改名,不就行了。可是如果你仅这样想,那你就忽略了软件开发中非常重要的一点—兼容性。如果这样改了,所有其他地方以前对这个Blog的引用全部失效。而且博客园已经有不少这样的用户名,一个个改也很麻烦,但不改二级域名就无法使用。我采取了两全其美的方法,对于心仪的Blog已经改名,并告诉她了,那就让她用这个新Blog名,如果有旧地址的访问,在代码中进行重定向,采用新的地址进行访问。对于那些没有改名的Blog, 他们也想用二级域名访问,或者不知道这个问题,仍然采用二级域名访问,怎么办呢?重定向,在程序中自动将二级域名地址改为原来的地址,这个问题也就解决了。(注:如果你的Blog名中有“_”符号,想改名,请与我联系)。以后在注册时就要说明Blog名中不允许带有“_”。
经过三天的努力,二级域名终于可以在博客园正常使用了。是不是很Cool! 。二级域名更加表现了你是博客园这个大家庭的一员,你的Blog影响着博客园的形象! 让我们一起继续努力建设好我们的网上家园吧!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~