请问下4.1的TAG标签的问题 悬赏:0

最近在日志里发现一个问题,蜘蛛每天拼命的爬标签链接但就是不收录,查了下一直的说法是百度识别不了中文,请问下有没办法把标签链接弄成t-5这形式的?或者弄能如:t-图片分享,这样也行啊,总比下面这种要强吧

http://c.jinhusns.com/microblog/t-%e5%95%86%e5%93%81%e5%88%86%e4%ba%ab

  • zhengw
  • 心远
  • 最佳答案

 出现这种链接,是因为我们在生成url时,对tagname进行了Url编码,这样做是为了解决tagname中包含特殊字符会导致页面打不开。
这个问题也可以这样解决,用户输入tag时,就不允许输入url特殊字符,这样生成链接时,就不用url编码。
具体修改方法如下:
1. 找到Web\Applications\CMS\Extensions\SiteUrls.cs,修改以下代码:

/// <summary>
/// 标签详细
/// </summary>
public static string CmsTagDetail(this SiteUrls siteUrls, string tagName)
{
return CachedUrlHelper.Action("TagDetail", "ChannelCms", CmsAreaName, new RouteValueDictionary { { "tagName", tagName.TrimEnd('.') } });
}

2.找到Web\Applications\CMS\Controllers\ChannelCmsController.cs,修改以下代码:

/// <summary>
/// 资讯标签详情页
/// </summary>
public ActionResult TagDetail(string tagName, int pageSize = 15, int pageIndex = 1)
{
//tagName = WebUtility.UrlDecode(tagName); 
var tag = tagService.Get(tagName);

... ...

 

注意:如果下载使用的是近乎安装版,需要将附件中的dll,覆盖到web/bin目录。

其他2个回答
  • wangxk
  • 近乎_问阳
  • 2013-11-05 09:20 发布

这个当时设计成这个是因为有些浏览器对中文url不太好,设计的。

  • mazq
  • 龙马
  • 2013-11-05 09:06 发布

确实不利于SEO,我们会在下一步来改进这个问题。还有用户空间,如果用户名设置有中文,例如:http://c.jinhusns.com/u/%E6%9B%BE%E7%BB%8F%E5%8E%BB%E8%BF%87  也会不利于SEO。