禁止使用模板插件做违法内容(涉黄等),否则将受到法律的制裁。

Thinkphp6 如果通过设置路由来处理get请求,比如/?s=abc

禁止使用模板插件做违法内容(涉黄等),否则将受到法律的制裁。

需求是我们要将/?s=abc重定向到/letter/abc,这种请求如果我们不设置路由,那么会提示控制器不存在:app\controller\Abc。那么如果解决这个问题呢?

路由设置:

Route::get('letter/:name', 'index/letter');
Route::get('/:s', 'index/search');

注意这个上下顺序不能换,否则会出错。

控制器Index的代码如下:

<?php
namespace app\controller;
use think\facade\View;
use think\facade\Db;

class Index
{
public function index()
{
$letters = Db::table('letter')->orderRand()->limit(40)->select();
View::assign('letters',$letters);
return View::fetch();
}

public function search($s = ''){
return redirect('/letter/'.$s);
}

public function letter($name = '')
{
$content = Db::table('letter')->where('name',$name)->value('content');
if($content){
View::assign('name',$name);
View::assign('content',$content);
//上一篇
$front=Db::table('letter')->where("name",'<',$name)->order('ID desc')->limit('1')->value('name');
View::assign('front',$front);
}else{
$content = '';
View::assign('name',$name);
View::assign('content',$content);
View::assign('front','');
}
return View::fetch();
}
}

0 个评论

 
联系
目前暂停一切业务,客服消息可能不会及时回复,谢谢理解。
在线咨询
    在线咨询
    禁止使用模板插件做违法内容(涉黄等),否则将受到法律的制裁。