前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3分钟短文 | PHP 网址重定向 4 个写法,哪个是你的菜?

3分钟短文 | PHP 网址重定向 4 个写法,哪个是你的菜?

作者头像
程序员小助手
发布2020-07-02 14:42:10
8530
发布2020-07-02 14:42:10
举报
文章被收录于专栏:程序员小助手

引言

我们在做WEB开发的时候,会有许多的权限控制,上下文控制。比如不同权限的用户,将其跳转到不同的路由。或者在一些动作完成后,跳转到成功提示,失败提示页面等等。

那么,程序内重定向有哪些方法呢?我们今天就给大家梳理梳理。

学习时间

将比说有一个原始的地址

代码语言:javascript
复制
www.example.com/page.html

需要跳转到

代码语言:javascript
复制
www.example.com/index.html

要怎么做呢?

1 - 最基本的做法就是添加头信息进行跳转。

代码语言:javascript
复制
header('Location: '.$newURL);

设置网页头信息中 Location,使其指向你的新 url 地址。

2 - 重要提示:设置完头之后,务必 die / exit

一定要阻止程序向下执行,否则header函数执行完成后,程序未释放向下直接可就失控了。

代码语言:javascript
复制
header("Location: http://example.com/myOtherPage.php");
die();

3 - 调用 PECL 库的 http_redirect 函数

不做赘述,装上就有了。一般不自带。对 PECL 不感兴趣的略过。

深入学习

方法都有了,那就封装成函数吧:

代码语言:javascript
复制
function Redirect($url, $permanent = false)
{
    header('Location: ' . $url, true, $permanent ? 301 : 302);
    exit();
}
Redirect('http://example.com/', false);

注意header函数的第二个参数是重定向的 http code。可以手动指定是否永久重定向。

如果觉得这个麻烦,

代码语言:javascript
复制
function redirect($url, $statusCode = 303)
{
   header('Location: ' . $url, true, $statusCode);
   die();
}

一定记住跳转完 die 一下,不让程序跑偏。

js 来了

写网页怎么能没有 html,javascript。用js实现跳转也是相当简单:

代码语言:javascript
复制
window.location.replace("http://example.com/");

是不是很容易?

写在最后

看完是不是觉得很简单?别急,留一道思考题,如果在 nginx 上,网站要维护,怎么配置某些路由的重定向呢?

评论区告诉我吧。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 学习时间
  • 深入学习
  • js 来了
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档