主页 > 程序语言 > thinkphp内核程序,无法重定向

thinkphp内核程序,无法重定向

2022-12-09 06:38来源:m.sf1369.com作者:宇宇

一、thinkphp内核程序,无法重定向

ThinkPHP redirect 方法

ThinkPHP redirect 方法可以实现页面的重定向(跳转)功能。redirect 方法语法如下:

$this->redirect(string url, array params, int delay, string msg)

参数说明:

参数

说明

url 必须,重定向的 URL 表达式。

params 可选,其它URL参数。

delay 可选, 重定向延时,单位为秒。

msg 可选,重定向提示信息。

ThinkPHP redirect 实例

在 Index 模块 index 方法中,重定向到本模块的 select 操作:

class IndexAction extends Action{

public function index(){

$this->redirect('select', array('status'=>1), 3, '页面跳转中~');

}

}

重定向后得到的 URL 可能为ex.php/Index/select/status/1

由于该方法调用了 U 函数来生成实际的 URL 重定向地址,因此重定向后的 URL 可能因配置不同而有所不同:

隐藏了入口文件 index.php 的

5idev.com/Index/select/status/1

隐藏了入口文件 index.php 且设置了伪静态的

hom/Index/select/status/1.html

一些常用的 redirect 重定向例子:

// 不延时,直接重定向

$this->redirect('select', array('status'=>1));

// 延时跳转,但不带参数,输出默认提示

$thi www.hbbz08.com s->redirect('select', '', 3);

// 重定向到其他模块操作

$this->redirect('Public/login');

// 重定向到其他分组

$this->redirect('Admin-Public/login');

提示: 1.当延时跳转时,必须输入 params 参数(可以为空),也就是 delay 必须出现在第 3 位上。

2.如果发现跳转后的 URL 有问题,由于 redirect 方法调用 U 方法来生成跳转后的地址,这时候可以测试一下 U 方法生成的地址是否正确,再检查一下系统配置。

3.如果不想使用 U 方法生成跳转地址,可以直接使用 PHP header 函数或 $this->redirect 的原型函数 redirect(string url, int delay, string msg),注意该 url 是个绝对地址,具体参见 PHP header 函数。

redirect 重定向与 success/error 跳转的区别

•redirect 是使用的 PHP header 重定向,而 success/error 是使用的 html meta http-equiv='Refresh' 属性跳转。

•redirect 无模板页面,输出的提示信息是直接在函数内 echo 输出的,而 success/error 有对应的模板。

•redirect 与 success/error 都可以实现页面的跳转,只是 redirect 可以无延时重定向,具体采用哪种视具体情况而定。

二、thinkphp 重定向与跳转的区别

重定向就算再次http请求。

跳转只有一次请求,只是两个方法先后处理罢了。

三、thinkphp nginx怎么配置隐藏index.php

复制我自己的回答,

ThinkPHP3.2

把下面代码加入nginx的server{}里面,tp配置开启rewrite模式

if (!-f $request_filename) {

rewirte ^(.*)$ /index.php?s=$1;

}

相关推荐

哪些编程语言是函数式的

程序语言 2024-01-14

VB编程的函数详解

程序语言 2024-01-02

c语言扑克牌问题

程序语言 2023-12-28

iphone语言与地区有什么用?

程序语言 2023-12-19

C语言程序,怎么使用,

程序语言 2023-12-17

把word嵌入到C#程序中

程序语言 2023-11-26

HTML是不是编程语言?

程序语言 2023-11-17