分隔符號的問題
太子
太子 2018-10-09 10:40:03
0
3
1489

老師你好你影片中示範的位址www.tp5.com/hello/aaa/dddd-33-ccc-444-eee-5555.html  這樣顯示  但是修改設定檔分隔符號之後顯示的位址卻不是你顏色的位址而是www.tp5.com/hello-aaa-dddd-33-ccc-444-eee-5555.html   點選提示hello模組未找到

這是什麼原因

太子
太子

全部回覆(3)
包子จุ๊บ

樓主,你找到解決的方法了嗎,我也遇到了,修改了分隔符號然後在url地址欄輸出說:找不到模版,這個要怎麼解決啊

Peter-Zhu

你的問答涉及路由中的組合變數規則:

Route::get('item-<name>-<id>', 'product/detail')
    ->pattern(['name' => '\w+', 'id' => '\d+']);

組合變數的優勢是路由規則中沒有固定的分隔符,可以隨意組合需要的變數規則和分割符,例如路由規則改成如下一樣可以支援:

Route::get('item<name><id>', 'product/detail')
    ->pattern(['name' => '[a-zA-Z]+', 'id' => '\d+']);Route::get('item@<name>-<id>', 'product/detail')
    ->pattern(['name' => '\w+', 'id' => '\d+']);

以上官網對變數規則的描述,如果你的變數較多,為了產生一個對搜尋引擎友善的URL位址,可以使用組合變數規則來美化你的URL位址,但會損失一定的執行效率, 如果你的操作沒有參數或有預設參數時,要注意規則的變化,防止失效~~

秋香姐家的小书童

路由規則 或偽靜態規則 沒有設定吧

  • 回覆 'pathinfo_depr' =&gt; '-', 設定了這個就會顯示www.tp5.com/hello-dddd-33-ccc-444-eee-5555.html 這樣一個連線路由規則也重新寫了'hello/[ :dddd]/[;ccc]/[:eee]' =&gt; ['index/index/hello', ['method' =&gt; 'get'], ['dddd' =&gt; '\d{4 }','ccc' =&gt; '\d{4}'.'eee' =&gt; '\d{4}']], 我規則寫錯了嗎?
    太子 作者 2018-10-09 11:41:28
  • 回覆 忘能指導一下
    太子 作者 2018-10-09 11:41:43
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!