yii - 如何在 yii 中将所有 url 转发到单个 url

标签 yii

<分区>

我需要知道如何在 yii 中转发所有 url 到单个 url 所有链接都转到一个网址 需要这个来显示维护信息

最佳答案

更新

旧代码示例自 Yii 1.1.16 起停止工作。感谢 JamesG(参见 comment)提供的新解决方案。代码示例已更新。


如您所知,catchAllRequest 是在 yii 中执行此操作的最佳方式。它专为此类情况而设计,从 documentation 中可以明显看出。 .使用它也可能会给您带来轻微的性能提升(超过 urlManager),但我怀疑它是否会很明显。

另一方面,如果您希望使用 urlManager,您可以尝试使用(也请阅读代码示例中的注释):

  1. 版本 1.1.16 及以上:

    '<url:(.*)>'=>'maintenance/index'
    
  2. 1.1.15 及以下版本:

    '<url:(.*)>'=>'maintenance/index'
    
    // '(.*)'=>'maintenance/index' // this used to work in previous versions ...
    // of Yii (below 1.1.16) mainly due to a bug, see notes
    

注意:这必须是 urlManager 的 rules 数组配置中的第一条规则。

然而,正如 sl4mmer 已经提到的,htaccess 或服务器配置是执行此操作的最佳方式,因为服务器毕竟先捕获请求,然后再将其发送到 php。


错误说明: 检查github问题here .

关于yii - 如何在 yii 中将所有 url 转发到单个 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12576752/

相关文章:

yii - 在 Yii 应用程序中运行单元测试的 fatal error

php - Yii:查询构建器:按顺序表达

ajax - Yii Ajax 请求 CSRF 无法验证

php - Yii 如何高亮显示当前菜单项

php - Yii CGridView 超链接在新选项卡中打开

javascript - jQuery 数据表不工作

php - Yii2 yii\helpers\Url helpers 到另一个站点的 Url

javascript - 如何从 Yiibooster 中的 TbSelect2 小部件检索 POST 数据?

google-maps - egmap 谷歌地图 Yii 不将数据保存到数据库

mysql - 具有多种用户类型的数据库用户场景