Kohana 路线使用了 URL/subject 的错误模式
Kohana Route using wrong pattern for URL/subject
我正在尝试使用 Kohana 中的路由 class 将 URL 更改为另一个。
这是我的 link:
<a class="btn" target="_self" href="<?php echo URL::base(). $current_channel->name;?>/materials/28" title="Materials Download">
<div class="txt">MATERIALS</div>
</a>
这给了我 link: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
文件中找不到 link 并抛出此错误:
ErrorException [ Warning ]: preg_match(): Compilation failed: unmatched parentheses at offset 50
查看错误日志,这是在 Routes.php
中传递给 preg_match
的参数:
这是我第一次使用 Kohana,所以我不知道为什么它使用这种奇怪的模式来匹配我的 URL。这也发生在其他页面上,不同 URL 的模式相同,这一直在破坏我的系统。
我试过更改路由名称,强制路由只接受 materials/28
处的 URL 但没有任何效果,因为它用来与我的 [=45= 进行比较的这种模式].我该如何更改它?
编辑:抱歉浪费您的时间,更新产品页面的路由错误。我评论了那部分代码,它完美地工作了。
我正在尝试使用 Kohana 中的路由 class 将 URL 更改为另一个。
这是我的 link:
<a class="btn" target="_self" href="<?php echo URL::base(). $current_channel->name;?>/materials/28" title="Materials Download">
<div class="txt">MATERIALS</div>
</a>
这给了我 link: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
文件中找不到 link 并抛出此错误:
ErrorException [ Warning ]: preg_match(): Compilation failed: unmatched parentheses at offset 50
查看错误日志,这是在 Routes.php
中传递给 preg_match
的参数:
这是我第一次使用 Kohana,所以我不知道为什么它使用这种奇怪的模式来匹配我的 URL。这也发生在其他页面上,不同 URL 的模式相同,这一直在破坏我的系统。
我试过更改路由名称,强制路由只接受 materials/28
处的 URL 但没有任何效果,因为它用来与我的 [=45= 进行比较的这种模式].我该如何更改它?
编辑:抱歉浪费您的时间,更新产品页面的路由错误。我评论了那部分代码,它完美地工作了。