简体   繁体   English

我该如何在yii2中制作网址?

[英]How can I make url in yii2 like this?

Hi i want to make url like this in yii2 嗨,我想在yii2中像这样制作网址
example.com/pagename example.com/pagename

example.com/folder1/pagename example.com/folder1/pagename

example.com/folder1/folder2/pagename example.com/folder1/folder2/pagename

My code 我的密码

path:- site/pages/folder1/folder2/ 路径:-网站/页面/文件夹1 /文件夹2 /

Add this in main-local.php 在main-local.php中添加它

'< view >' => 'site/pages',                
'folder1/< view >' => 'site/folder1',              

'folder2/< view >' => 'site/folder1/folder2', '文件夹2 / <视图>'=>'站点/文件夹1 /文件夹2',

at sitecontroller i add this first is working but second is not working 404 error 在sitecontroller上,我添加了这个功能,但第一个无法正常工作404错误

'pages' => [    
    'class' => 'yii\web\ViewAction',       
    'viewPrefix' =>'pages',        
 ],          

'folder1' => [         
    'class' => 'yii\web\ViewAction',       
    'viewPrefix' =>'pages/folder1',        
 ],    

'folder2' => [             
    'class' => 'yii\web\ViewAction',           
    'viewPrefix' =>'pages/folder1/folder2',                
 ],        

Any suggestions? 有什么建议么?

i was used a method like yours need i hope its help you. 我曾经使用过像您需要的方法,希望它能对您有所帮助。 but i didn't test folder2. 但我没有测试folder2。 So you can test and send me results,too.:) 因此,您也可以测试并向我发送结果。:)

'components' => [
    'urlManager' => [
        'class' => 'yii\web\UrlManager',
        // Disable index.php
        'showScriptName' => false,
        // Disable r= routes
        'enablePrettyUrl' => true,
        'rules' => array(
            '<controller:\w+>/<id:\d+>' => '<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
            '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            '<folder:\w+>/<controller:\w+>/<action:\w+>' => '<folder>/<controller>/<action>',
        ),
    ]
 ]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM