簡體   English   中英

Yii無法解析某些網址的請求,但不是全部

[英]Yii unable to resolve request for some urls but not all

我正在嘗試在Yii框架中設置一個頁面,但URL路由中斷了一些頁面,但某些頁面仍然有效。

我注意到有連字符(-)的頁面和沒有中斷的頁面。

例如

/mypage/my-item (works) 
/mypage/myitem (breaks)

我在其他頁面上使用了相同的代碼,但是沒有這個問題,所以很奇怪。

    'urlManager'=>array(
        'urlFormat'=>'path',
        'rules'=>array(
                        '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                        '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                        '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
                        // SECTORS DOES NOT WORK
                        'sectors'=>'site/sectors',  
                        'sectors/<sector:.*?>'=>'site/sectors',                         
                        // PERSPECTIVE WORKS FINE
                        'perspective'=>'site/perspective',  
                        'perspective/<article:.*?>'=>'site/perspective',    
        ),
    ),

如果我嘗試將die()放入控制器,它仍然會引發錯誤,因此由於某些原因,/ mypage / myitem URL甚至無法將其傳遞給正確的控制器。

謝謝

如何嘗試將連字符更改為下划線。 或者更好的是,將所有網址更改為一個單詞; 沒有更多特殊字符。

正則表達式\\ w +不包含-符號。 因此,您的示例網址將通過不同的規則進行解析。

我找到了解決方案。 這是URL規則的順序。 我將前三個規則移到數組的底部,並對其進行了修復。 我認為第一個是在行業/規則之前實現的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM