网站的路由系统是网站当中非常重要的部分,也就是URL的样式。随着SEO发展的越来越成熟,站长对于URL的要求也是越来越多。为满足不同规模网站站长的需求,我们设计了三段式URL设计

我们将网站分为前中后三段

三段式URL设计

:URL前部分,比如说在URL中栏目slug等。

:多数对应于id字段。

:后缀。

路径方案

这里对应的就是URL前段。

路径方案包括:模型路径、单级slug、随机字符、自定义路径

模型路径:以模型名字为路标识

单级slug:以内容的栏目slug为标识 

随机字符:随机字符串长度范围(示例:6-8 生成6到8位字符)。注意这里设置的是长度的随机范围,不是设置字符长度。设置此功能可以实现整站泛栏目功能

自定义路径:选择这里后将自定义设置栏目列表页路径段标识和文章路径段标识

标识类型

这里多数对应于id

比如文章页对应的就是文章id,栏目列表页就是栏目id,可以选择的配置为数字id和哈希值

数字ID:传统设置方法,以内容的id为逻辑进行显示

哈希值:DjacoreCMS加密的哈希值,可以有效的防止采集盲爬。

URL后缀

我们选择的URL后缀包括.html,.htm,.shtml和无后缀。

在当令的SEO技术要求方面来讲已经没什么区别了,只是看站长的喜好。DjacoreCMS采用目前是的顶配响应为高频保护+静态页面+Djacore智能三级缓存。作为普通中大型项目高频保护+静态页面已经完全快速响应了。

在远古时代,.html这些后缀是静态页面的标识,后来就发展成为伪静态,现在我们就是缓存+静态的更快速的方案。

所以后缀为什么其实是无所谓的,全看站长喜好。

中文名 (Verbose Name)字段名 (Field Name)字段数据类型 (Field Type)默认值 (Default Value)字段说明 (Help Text/Remarks)
路径方案url_frontCharField'model'

max_length=20 
定义URL路径的生成方案,可选值包括:

  • model - 模型路径

  • slug - 单级Slug

  • random - 随机字符

  • custom - 自定义路径

标识类型url_midCharField'id'

max_length=10, 可为空 (blank=True) 
定义URL中用于标识资源的部分类型,可选值包括:

  • id - 数字ID

  • hash - 哈希值

随机长度random_lengthCharField'6-8'max_length=7, 可为空 (blank=True) 
指定随机字符串的长度范围(当路径方案选择"random"时使用)。 
格式:最小-最大(示例:6-8 表示生成6到8位字符)。 
包含正则验证确保格式正确(^\d+-\d+$),以及最小长度验证 (MinLengthValidator(3))。
自定义路径段custom_slugCharField-max_length=50, 可为空 (blank=True) 
当选择自定义路径方案时使用的自定义路径段。 
仅允许小写字母、数字和连字符(通过正则验证器确保:^[a-z0-9\-]+$)。
文章路径段custom_articleCharField-max_length=50, 可为空 (blank=True) 
用于文章页面的自定义路径段。 
仅允许小写字母、数字和连字符(通过正则验证器确保:^[a-z0-9\-]+$)。
URL后缀url_suffixCharField'.html'

max_length=10, 可为空 (blank=True) 
定义URL的后缀格式,可选值包括:

  • .html - .html后缀

  • .htm - .htm后缀

  • .shtml - .shtml后缀

  • 空字符串 - 无后缀

UrlStyle URL路径样式配置模型字段说明

 

是一个根据您提供的代码,所有可能组成的URL格式示例列表。
假设 model_namenewssluglatest-updatescustom_slug设置为 channelcustom_article设置为 storyrandom_str示例为 a1b2c3
以下表格展示了不同配置组合下生成的URL预览:
配置方案 (url_front)
描述
列表页URL示例 (list_url)
内容页URL示例 (detail_url)
模型路径 (model)
使用模型名路径。
/news/index.html
/news/
/news/1.html
/news/a1b2c3.html
/news/1(无后缀)
单级Slug (slug)
使用栏目/文章的slug。列表页会加上/index
/latest-updates/index.html
/latest-updates/index(无后缀)
/latest-updates/1.html
/latest-updates/a1b2c3.html
/latest-updates/1(无后缀)
随机字符 (random)
使用随机字符串作为路径段。
/latest-updates/index.html
/latest-updates/index(无后缀)
/a1b2c3/1.html
/a1b2c3/1(无后缀)
自定义路径 (custom)
分别自定义栏目和文章的固定路径。
/channel/1.html
/channel/
 
/story/1.html
/{custom_article}/1.html
注:
  1. URL中的 1代表 mid='id'(数字ID),a1b2c3代表 mid='hash'(哈希值)。
  2. 后缀 .html, .htm, .shtml会根据 url_suffix设置变化,表格中以 .html和“无后缀”为例。
  3. “多级Slug (moreslug)” 方案在 URL_FRONT_CHOICES列表中未定义,但在 _build_list_url_build_detail_url方法中存在逻辑。如果启用,其URL可能类似:
    • 列表页:/slug1/slug2/index.html
    • 内容页:/slug1/slug2/slug/1.html