thinkphp6多应用模式URL隐藏应用名的几种方法
thinkphp6多应用模式,默认的URL中带有index类似的应用名称,为了SEO友好,缩短URL,需要把应用名称隐藏。
在网上爬了半天,各种各样的方案都有,这里就总结几个比较好用的、实用的方法。
一、应用绑定域名
修改config->app.php,如下:
这种方法操作简单,但要有域名都得有域名,不能这个应用绑定子域名,那个不绑定。。。
二、增加入口文件
默认下TP只有一个index.php的入口文件,根据应用增加不同的入口文件,在入口文件中绑定应用。如下:
这种方法应用名称是没有了,但多了入口文件的名称,,得不偿失哈!
三、动态绑定
tp的入口文件没有绑定应用,会根据PATH自动识别应用,因此只需要在入口文件中判断PATH并动态绑定就行。如下:
此处只有index应用(默认应用)动态绑定了,其他几个应用都没有(保持原有的URL格式),你也可以举一反三,看你怎么需求场景了。
以上三种方法,个人推荐方法一和方法三,总之根据需求灵活运用。但会有同样的问题,就是跨应用生成URL时错误,所以如果你要跨应用生成URL,还是自己写一个方法吧。。。
有 0 位网友评论: