【问题标题】:Kohana Route using wrong pattern for URL/subjectKohana Route 使用错误的 URL/主题模式
【发布时间】:2020-06-25 21:01:28
【问题描述】:

我正在尝试使用 Kohana 中的路由类将 URL 更改为另一个。

这是我的链接:

<a class="btn" target="_self" href="<?php echo URL::base(). $current_channel->name;?>/materials/28" title="Materials Download">
    <div class="txt">MATERIALS</div>
</a>

这给了我链接:localhost:8081/channel/materials/28,因为我使用 php -S localhost:8081 在本地服务器上运行

这是我的路线的规格:

Route::set('c_materials', '<channel_name>/materials(/<id>)',  array('channel_name' => $channel_names))
    ->defaults(array(
      'controller' => 'materials',
      'action'     => 'brands',
    ));
Route::set('materials', 'materials(/<id>)')
    ->defaults(array(
      'controller' => 'materials',
      'action'     => 'brands',
    ));

但由于一些我想不通的奇怪原因,Kohana 在routes.php 文件中找不到链接并抛出此错误:

ErrorException [ Warning ]: preg_match(): Compilation failed: unmatched parentheses at offset 50

查看错误日志,这里是在Routes.php 中传递给preg_match 的参数:

这是我第一次使用 Kohana,所以我不知道它为什么使用这种奇怪的模式来匹配我的 URL。这也发生在其他页面中,不同 URL 的模式相同,这不断破坏我的系统。

我尝试更改路由名称,强制路由仅接受materials/28 的 URL,但由于它用于与我的 URL 进行比较的这种模式,所以没有任何效果。怎么改?

【问题讨论】:

    标签: php kohana kohana-3 kohana-3.3


    【解决方案1】:

    编辑:抱歉浪费您的时间,更新产品页面的路径错误。我评论了这部分代码,它完美无缺。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多