网站首页 > 基础教程 正文
引言
我们在做WEB开发的时候,会有许多的权限控制,上下文控制。比如不同权限的用户,将其跳转到不同的路由。或者在一些动作完成后,跳转到成功提示,失败提示页面等等。
那么,程序内重定向有哪些方法呢?我们今天就给大家梳理梳理。
学习时间
将比说有一个原始的地址
www.example.com/page.html
需要跳转到
www.example.com/index.html
要怎么做呢?
1 - 最基本的做法就是添加头信息进行跳转。
header('Location: '.$newURL);
设置网页头信息中 Location,使其指向你的新 url 地址。
2 - 重要提示:设置完头之后,务必 die / exit
一定要阻止程序向下执行,否则header函数执行完成后,程序未释放向下直接可就失控了。
header("Location: http://example.com/myOtherPage.php");
die();
3 - 调用 PECL 库的 http_redirect 函数
不做赘述,装上就有了。一般不自带。对 PECL 不感兴趣的略过。
深入学习
方法都有了,那就封装成函数吧:
function Redirect($url, $permanent = false)
{
header('Location: ' . $url, true, $permanent ? 301 : 302);
exit();
}
Redirect('http://example.com/', false);
注意header函数的第二个参数是重定向的 http code。可以手动指定是否永久重定向。
如果觉得这个麻烦,
function redirect($url, $statusCode = 303)
{
header('Location: ' . $url, true, $statusCode);
die();
}
一定记住跳转完 die 一下,不让程序跑偏。
js 来了
写网页怎么能没有 html,javascript。用js实现跳转也是相当简单:
window.location.replace("http://example.com/");
是不是很容易?
写在最后
看完是不是觉得很简单?别急,留一道思考题,如果在 nginx 上,网站要维护,怎么配置某些路由的重定向呢?
评论区告诉我吧。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
- 上一篇: 技术分享 | 利用PHAR协议进行PHP反序列化攻击
- 下一篇: php pcntl开启多进程执行任务
猜你喜欢
- 2024-11-23 西邮冯景瑜团队挖掘到CVE漏洞,被国家信息安全漏洞库收录公布
- 2024-11-23 PHP操作SQL数据库增删改查的代码
- 2024-11-23 简单轻量级的php的web防火墙,拦截SQL注入和XSS攻击
- 2024-11-23 PHP操作FTP类实现(上传、下载、移动、创建)的方法
- 2024-11-23 PHP7开发API离不开签名验证,你是如何设计?
- 2024-11-23 PHP连接msSQL数据库方法
- 2024-11-23 「PHP」如何使用imap协议接收邮件
- 2024-11-23 php 多进程是如何实现的?
- 2024-11-23 PHP自动加载学习记录
- 2024-11-23 PHP安全编码规范不可忽略
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)