nginx重定向到其他url方法_3分钟短文 | PHP 网址重定向 4 个写法,哪个是你的菜?...

引言

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

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

dd939355531b7f853156d0214f299aa8.png

学习时间

将比说有一个原始的地址

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 :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个开源的高性能Web服务器,它可以用来处理静态内容和动态请求。在使用Nginx的过程,有时我们需要将客户端请求的URL重定向到其他的URL,实现URL跳转。以下是Nginx重定向到其他URL方法: 使用rewrite指令进行URL重定向nginx.conf配置文件,可以使用rewrite指令对URL进行重写或重定向,例如: location /oldurl { rewrite ^/oldurl(.*) https://newurl.com/newurl permanent; } 上述代码表示,当客户端访问/oldurl时,将它重定向到https://newurl.com/newurl。其,permanent表示使用301重定向方式。 使用return指令进行URL重定向 除了rewrite指令,Nginx还提供了return指令,也可以用来实现URL重定向。例如: location /oldurl { return 301 https://newurl.com/newurl; } 上述代码表示,当客户端访问/oldurl时,将它重定向到https://newurl.com/newurl。其,301表示使用永久重定向方式。 使用proxy_pass指令进行URL重定向 proxy_pass指令是Nginx用来进行反向代理的指令,但是它也可以用来实现URL重定向。例如: location /oldurl { proxy_pass https://newurl.com/newurl; } 上述代码表示,当客户端访问/oldurl时,将它重定向到https://newurl.com/newurl。但是,这种方式的重定向需要后端服务器返回301或302状态码才能生效。 综上所述,Nginx提供了多种方式实现URL重定向,开发者可以根据具体需求自行选择。而且Nginx的性能和功能十分强大,深受广大开发者的青睐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值