时间:2021-07-01 10:21:17 帮助过:42人阅读
我自己的小说站是这说设计的
http://www.x.com/gulong 作者古龙的信息
http://www.x.com/xiaolifeidao 小说《小李飞刀》的具体内容。
http://www.x.com/youxiuzhuojiapaiming 这是一个论坛的版块《优秀作家排名》
我会有一个system_slug表。
根据slug表查询出这篇文章的是属于news模块,还是属于小说模块。
SystemController {
public funciton distributionController($slug)
{
$module = "select moduleName from system_slugs where slug='slug';
$contoller = "select contollerName from system_slugs where slug='slug';
return $module::$contollerName($slug);
}
}
1,我这个小说站用的是Laravel,很方便这样写。如果换成Yii2的,这样写行得通吗,(下一个项目比较大,也比较长久,已经决心用Yii2,Yii2的路由分配好像不足够灵活?)
2,这种模式来优化seo有没有问题啊?
3,我在国外的stackflow上看到有人提这个问题。有人回答说最好用restfull来处理这样设计,我不懂。用restfull怎么就更有利于实现这样的想法呢?
为了SEO做到优化,我觉得URL不应该出些module name,controller name。只应该出现文章的slug.
我自己的小说站是这说设计的
http://www.x.com/gulong 作者古龙的信息
http://www.x.com/xiaolifeidao 小说《小李飞刀》的具体内容。
http://www.x.com/youxiuzhuojiapaiming 这是一个论坛的版块《优秀作家排名》
我会有一个system_slug表。
根据slug表查询出这篇文章的是属于news模块,还是属于小说模块。
SystemController {
public funciton distributionController($slug)
{
$module = "select moduleName from system_slugs where slug='slug';
$contoller = "select contollerName from system_slugs where slug='slug';
return $module::$contollerName($slug);
}
}
1,我这个小说站用的是Laravel,很方便这样写。如果换成Yii2的,这样写行得通吗,(下一个项目比较大,也比较长久,已经决心用Yii2,Yii2的路由分配好像不足够灵活?)
2,这种模式来优化seo有没有问题啊?
3,我在国外的stackflow上看到有人提这个问题。有人回答说最好用restfull来处理这样设计,我不懂。用restfull怎么就更有利于实现这样的想法呢?
你这种写法当然也没太大问题,url路径会比较短,但是目录结构层次不够清晰。为了做SEO重点是不能有动态URL,也就是带上问号的那种。Restful的风格是比较好处理这种情况,也不用去配复杂的路由。
比如说你这个情况,这些都应该属于某一种类型,那么url就应该是:http://www.x.com/author/gulong 作者古龙的信息
http://www.x.com/novel/xiaolifeidao 小说《小李飞刀》的具体内容。
http://www.x.com/board/youxiuzhuojiapaiming 这是一个论坛的版块《优秀作家排名》
但是上面直接用拼音挺奇怪的,因为这是个动态增长的数据,所以一般来说是id编号,以小说为例:http://www.x.com/novel/1
对应的NovelController就有一个“/novel/{id}”的URL来对应,id根据URL动态获取即可。
这样的设计有明确的分类,目录层次也不会太多,人看起来容易懂,爬虫也容易理解,所以自然权重会更高一点。