信息动态

网站设计是技术与创意的完美融合!

网站优化

thinkphp无法做url重定向

2022-08-19 01:03:27

ThinkPHP框架做的网站,如果在IIS中的RUL重写模块中做页面重定向,可能会无效,这和TP的自带定向冲突导致的。分享两个途径,第一个是: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, '页面跳转中~'); //3秒

}

}

一些常用的 redirect 重定向例子:// 不延时,直接重定向

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

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

$this->redirect('select', '', 3);

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

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

// 重定向到其他分组

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


第二个是在IIS设置页面重定向:

根据截图操作,找到URL重写模块:

添加空白规则:

如重定向的结果多了一个反斜杠,则尝试将“重定向URL”中的最后一个/删除。

可能生效比较慢,或者直接清空浏览器缓存。

完成后的检测,在浏览器地址栏输入重定向前的地址http://xxx.cn/index/index/tag/id/7.html

,就会自动跳到重定向后的地址http://xxx.cn/index/tag/7.html


0532-85810878 473587358 扫码添加微信

扫码添加微信

扫码关注公众号

官方公众号

2054585360