首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果帖子id为空或在codeigniter中不存在,如何重定向博客主页

如果帖子id为空或在CodeIgniter中不存在,可以通过以下步骤重定向博客主页:

  1. 首先,需要在CodeIgniter中设置路由规则,将博客主页的URL与对应的控制器和方法关联起来。可以在application/config/routes.php文件中添加以下代码:
代码语言:txt
复制
$route['default_controller'] = 'blog';

这将把默认的控制器设置为blog,即博客主页的控制器。

  1. 接下来,在博客主页的控制器中,可以通过判断帖子id是否为空或在数据库中存在来进行重定向。可以在application/controllers/Blog.php文件中的对应方法中添加以下代码:
代码语言:txt
复制
public function view_post($post_id) {
    if (empty($post_id) || !$this->blog_model->post_exists($post_id)) {
        redirect(base_url('blog'));
    }
    // 其他处理逻辑
}

上述代码中,view_post方法接收帖子id作为参数。如果帖子id为空或在数据库中不存在(通过blog_model模型的post_exists方法进行判断),则使用redirect函数将用户重定向到博客主页。

  1. 最后,在博客主页的视图文件中,可以添加一个链接,让用户可以返回到博客主页。可以在对应的视图文件中添加以下代码:
代码语言:txt
复制
<a href="<?php echo base_url('blog'); ?>">返回博客主页</a>

上述代码中,base_url('blog')生成博客主页的URL,并将其作为链接的目标。

通过以上步骤,当帖子id为空或在CodeIgniter中不存在时,用户将被重定向到博客主页,并提供一个链接让用户返回博客主页。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

搭建SpringBoot项目问题汇总

个人主页:BoBooY的CSDN博客_Java领域博主 报错项目来源参考: SpringBoot员工管理系统(无数据库):https://blog.csdn.net/qq_58233406...分析:报错原因,用户名填写错误会导致从数据库通过用户名查找用户信息会查不到这个用户,所以在user.getUserName()就会报指针异常 解决办法:在Controller添加一个对用户是否的判断...报错根本原因:在设置了登录拦截器并且判断可以放行的时候再次使用了重定向主页面,导致登录拦截有一次重定向主页,正常登录也有一次重定向主页,所以两者发生了冲突,代码如下: 登陆拦截器 正常登录(UserController...) 解决方式:删除登录拦截的重定向代码即可 13、查询Department 可以获取id 不能获取 部门名称 departmentName 测试查看: 分析原因:实体类Department的属性部门名为...创作不易,如果本文的内容对您有帮助,还望客官可以三连支持一下博主,(点赞)+✏️(评论)+⭐️(收藏)是我创作的巨大动力!如果有本篇文章或者Java相关的问题,可以关注私信一下博主,随时您解答!

3.3K30
  • Sticky Posts Switch插件教程WordPress分类添加置顶文章

    当您将新内容发布到您的网站时,之前的帖子会关闭并最终移动到存档页面。粘性帖子允许您在WordPress添加精选帖子,并在您的网站主页上以不同的方式显示它们。...通过在类别页面上添加粘性帖子,您可以显示该特定类别的特色帖子。在本文中,我们晓得博客将向您展示如何在WordPress类别添加置顶文章。...使用粘性帖子有很多优点。简而言之,粘性帖子获得更多曝光和流量!如果您想确保人们阅读重要的通知或帖子,请将其放在顶部。  同样,您可以使用置顶帖/文章子恢复旧博客帖子。定期创建内容可能具有挑战性。...和 MultilingualPress如何在WordPress类别添加置顶文章?  ...Sticky Posts Switch插件教程WordPress分类添加置顶文章  此外还可以选择在主页帖子存档页面或分类页面(如类别和标签)上显示粘性帖子的位置。

    5.5K20

    WordPress主题制作(一):主题文件结构

    主页例,用于显示主页的文件有三个,分别是front-page.php、home.php、index.php,WordPress将从您的主题中依次查找这三个文件。...home.php:如果主题中没有front-page.php,那么使用home.php。它还用于在主页上显示博客文章。...(WordPress 2.9及以上版本支持) category-{id}.php——如果分类ID6,WordPress将会查找category-6.php category.php——显示所有分类存档页面...-{id}.php——如果标签ID6,WordPress将会查找tag-6.php(WordPress 2.9及以上版本支持) tag.php——标签归档的默认模板 archive.php index.php...3.0及以上版本支持) author-{id}.php——如果作者ID6,WordPress将会查找author-6.php(WordPress 3.0及以上版本支持) author.php——显示作者存档页面的默认模板

    1.9K30

    范式的数据库具体解释

    并以笔者以前设计的一个简单论坛的数据库例来解说如何将这些范式应用于实际project。 范式说明 第一范式(1NF):数据库表的字段都是单一属性的,不可再分。...如果仓库管理关系表StorehouseManage(仓库ID, 存储物品ID, 管理员ID, 数量),且有一个管理员仅仅在一个仓库工作;一个仓库能够存储多种物品。...我们须要添加”发帖ID”、”回复ID”字段,即将表改动: username email 主页 电话 联系地址 发帖ID 发帖标题 发帖内容 回复ID 回复标题 回复内容 这样数据表的...主页,电话,联系地址 (2) 帖子信息:发帖ID,标题,内容 (3) 回复信息:回复ID。标题。内容 (4) 发贴:username,发帖ID (5) 回复:发帖ID。...新的设计: (1) 用户信息:username。email,主页。电话,联系地址 (2) 帖子信息:username,发帖ID,标题,内容 (3) 回复信息:发帖ID,回复ID,标题。

    56040

    django 1.8 官方文档翻译: 14-4-1 重定向应用

    它是如何工作的 manage.py migrate 在数据库创建一张django_redirect 表。它是一张简单的查询表,具有site_id、old_path 和new_path 字段。...每当Django 的应用引发一个404 错误,该中间件将到重定向数据库检查请求的URL。它会根据old_path 和SITE_ID 设置的站点ID 查找重定向的路径。...如果找到匹配的记录且new_path不为,它将使用301(“Moved Permanently”)重定向到new_path 。...如果找到匹配的记录而new_path ,它将发送一个410 (“Gone”) HTTP 头和(没有内容的)响应。 如果没有找到匹配的记录,请求将继续正常处理。...如何添加、修改和删除重定向 通过Admin 接口 如果你已经启用Django 自动生成的Admin 接口,你应该可以在Admin 的主页看到“Redirects”部分。

    60410

    Web前端性能优化教程03:网站样式和脚本&减少DNS查找、避免重定向

    博客例,博客园就把google流量分析的js放在底部,同时把下载Blog新闻和Blog侧边栏的js执行函数放在了底部。...最佳实践 当客户端的DNS缓存为时,DNS查找的数量与Web页面唯一主机名的数量相等。所以减少唯一主机名的数量就可以减少DNS查找的数量。...重定向如何损伤性能? 当页面发生了重定向,就会延迟整个HTML文档的传输。在HTML文档到达之前,页面不会呈现任何东西,也没有任何组件会被下载。...跟踪内部流量 当拥有一个门户主页的时候,同时想对用户离开主页后的流量进行跟踪,这时可以使用重定向。...以yahoo.com例,主页新闻的链接主机名是http://hsrd.yahoo.com/,后面跟着识别的参数,点击后再产生一个301重定向,这样就记录了离开门户主页后的流量去向。

    3.2K130

    Spring MVC 框架学习(七)---- 后端接口小练习(计算器与登陆拦截)

    index.html,只是作为一个展示页,要通过/index接口才能重定向到这个页面,重定向之前要获取session查看是否登陆 <!...HttpSession session = request.getSession(true); String msg=""; int status=200; // 响应码 如果...200说明访问后端接口成功 int succ=-1; // 登陆状态码 ,如果-1说明登陆失败 HashMap map = new HashMap...,前端接收到data.success==1,那么跳转到 /index 接口,判断session是否存在,如果存在那么重定向到 首页、如果不存在 重定向到 login 登录页 @RequestMapping...:未输入用户名 未输入密码 用户名和密码都输入了,匹配是否成功 匹配成功,进入/index,经过session校验后进入 首页 如果没有登陆,获取不到session,直接点击主页,是会重定向

    96110

    github搭建个人网站

    如果是你的某个仓库的页面,你需要设置到 gh-pages 分支,关于这些,请参考本文末尾提到的参考资料. 5....但是为了有意义,我们可以定义某个固定的域名,例如 : blog.cncounter.com  文件的内容只有一行,这样访问 http://renfufei.github.io 时浏览器就接收到重定向指令...但是,如果 http://blog.cncounter.com/ 是的怎么办? 这就需要你自己保证咯。  当然,要是这么结束掉,那本文就是一篇坑文。 ...以后每次你提交(或在线修改后提交)文件到这个仓库,GitHub 都会自动你构建,并发布。 所以,有问题,请修改并提交某个文件,重新试试吧!...如果你有敏感数据在页面仓库,您可能需要在发布之前删除他们。

    5.2K80

    -辅助函数

    如果目录不存在或指定的帮助程序不存在,则CI会在全局system / Helpers /目录查找。...这些文件位于我们的服务器上的 / Modules / Blog /。因此,我们会将博客模块的帮助程序文件放在 / Modules / Blog / Helpers /。...在我们的控制器内,我们可以使用以下命令我们加载帮助程序: helper('Modules\Blog\blog'); 注解 以这种方式加载的文件的功能未真正命名空间。...> 其中“单击此处”是链接的名称,“博客/注释”是您要链接的控制器/方法的URI。 “扩展”助手 @todo:确定如何扩展这些名称空间等等?...要“扩展”助手,请在您的application / helpers /文件夹创建一个文件,其名称与现有助手相同,但前缀MY_ (此项是可配置的。请参见下文)。

    1.5K20

    爬虫系列之丁香园论坛的所有回复用户数据(下)

    现在是时候轮到bbs发话了,那么问题又来了,如何从bbs爬取相应的用户名呢?...page 注意事项:此处返回的数据当前bbs的所有回复用户,那么问题来了,既然是回复用户,当然有些用户回复了很多次,相当于此处获得的是最原始的所有回复用户数据,那么如何去重呢?...这里采用的算法思想是通过zip()函数将两个list合并成字典,keyid,valueavater,那么现在问题就变为了字典去重,先定义一个新的字典,如果当前添加的数据不在新的字典里面,就往里面加,...2.2 用户个人主页 用户个人主页功能在上一节做了详细解释,这一节主要侧重于异常的处理及如何调用bbs代码,将bbs代码与个人主页代码结合使用。...浏览器输入http://i.dxy.cn/profile/壹刀,会发现重定向进入http://i.dxy.cn/lizhanqiang这个页面,如下图所示: 壹刀主页图 会发现这个已经不是我们想要的用户页面图了

    82330

    打造 .NET Core 链接转发服务

    例如,当我 10 年前创建网站时,一个典型的博客文章 URL 就像"https://myolddomain.net/viewarticle.aspx?id=123"。...如果文档的 URL 随时间而变化,Edge 浏览器不必更改其内置帮助链接。微软只需要更新其数据库以更改链接 ID 2049807 的目标 URL。...它需要足够快,并能处理一定量的流量 我当前的设计会缓存有效的 URL 重定向,因此对于对同一令牌的请求,系统不会每次都查询数据库。 如何处理无效的令牌或有效但不存在的 URL?...对于该有效的令牌,但它指向不存在的 URL(数据库没有记录),将用户重定向到预先设置的默认 URL。...它用于在数据库查找源 URL。我不使用 Link.Id 的原因是,当执行数据库迁移或从多个服务器合并数据库时,Id 可能会更改。但Token将保持不变。 ?

    1.4K70

    译《领域驱动设计之PHP实现》架构风格(上)

    相反的,我们可以根据每个核心域内的限界上下文自由选择最佳的架构,限界上下文同时每个特定领域问题提供了丰富多彩的架构选择。...例如,在前面的例子当中,一个博客帖子的表示必须完全地独立于实体概念的博客帖子。一个博客帖子实体可以与一个或多个表示相关联。这就是通常所说的关注点分离。...这得益于像 Symfony, Zend Framework 和 CodeIgniter这些的流行框架。 模型-视图-控制器 模型-视图-控制器模式将应用划分为三个主要层次,要点描述如下: 1....为了达到这一点,所有层次都必须从我们这些原始的混乱代码识别出来。...Post类表示一个博客帖子,PostRepository类表示可用博客帖子的整个集合。除此之外,另一层-用来协调和编排这些领域行为-也是模型层内需要的。

    75320

    创建GitHub技术博客全攻略

    如果是你的某个仓库的页面,你需要设置到 gh-pages 分支,关于这些,请参考本文末尾提到的参考资料. ? 图4 第4步 5....但是为了有意义,我们可以定义某个固定的域名,例如 : blog.cncounter.com   文件的内容只有一行,这样访问 http://renfufei.github.io 时浏览器就接收到重定向指令...但是,如果 http://blog.cncounter.com/ 是的怎么办?  这就需要你自己保证咯。 当然,要是这么结束掉,那本文就是一篇坑文。 ...以后每次你提交(或在线修改后提交)文件到这个仓库,GitHub 都会自动你构建,并发布。 所以,有问题,请修改并提交某个文件,重新试试吧!...如果你有敏感数据在页面仓库,您可能需要在发布之前删除他们。

    1.2K70

    ④数据查询时,解决Redis缓存穿透的问题...

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 ④解决Redis缓存穿透 什么是缓存穿透?...然而,如果缓存不存在需要的数据,而且请求频繁,就可能导致缓存穿透问题。 缓存穿透的原因: 缓存穿透通常发生在用户请求一个不存在于缓存的数据,而且这个数据在数据库不存在。...原理: 1_ 使用了bitmap(位图):相当于一个以bit位单位的数组,数组每个单元只能存储二进制数0或1 。 2_ 优缺点: 优点:内存占用少,没有多余的key。...误判: 误判率: 数组越小,误判率就越大;数组越大,误判率就越小,但同时带来更多的内存消耗; ②缓存对象(缓存值): 当系统判断某个数据在数据库不存在时,可以将这个结果缓存起来,并设置一个较短的过期时间...案例: @Resource private StringRedisTemplate stringRedisTemplate; // 根据id查询商铺信息(缓存值,避免缓存穿透问题

    15310

    举例说明一下怎么算是第一范式、第二范式、第三范式?

    第三范式(3NF):在第二范式的基础上,数据表如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。...鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。...范式应用 我们来逐步搞定一个论坛的数据库,有如下信息: (1) 用户:用户名,email,主页,电话,联系地址 (2) 帖子:发帖标题,发帖内容,回复标题,回复内容 第一次我们将数据库设计仅仅存在表...我们将数据库表分解(带下划线的关键字): (1) 用户信息:用户名,email,主页,电话,联系地址 (2) 帖子信息:发帖ID,标题,内容 (3) 回复信息:回复ID,标题,内容 (4)...这样可以一定量地减少数据冗余,新的设计: (1) 用户信息:用户名,email,主页,电话,联系地址 (2) 帖子信息:用户名,发帖ID,标题,内容 (3) 回复信息:发帖ID,回复ID,标题,

    48910

    带你认识 flask 分页

    请注意,在处理表单数据后,我通过发送重定向主页来结束请求。我可以轻松地跳过重定向,并允许函数继续向下进入模板渲染部分,因为这已经是主页视图函数了。 那么,为什么重定向呢?...如果是False,则会返回一个列表。 paginate方法返回一个Pagination的实例。其items属性是请求内容的数据列表。Pagination实例还有一些其他用途,我会在之后讨论。...在最终的应用,每页显示的数据将会大于三,但是对于测试而言,使用小数字很方便。 接下来,我需要决定如何将页码并入到应用URL。...url_for()函数的一个有趣的地方是,你可以添加任何关键字参数,如果这些参数的名字没有直接在URL匹配使用,那么Flask将它们设置URL的查询字符串参数。...第二个链接标记为“Older posts”,并指向下一页的帖子如果这两个链接的任何一个都是None,则通过条件过滤将其从页面中省略。

    2.1K20
    领券