Php 如何在yii中为模块创建漂亮的url
我已经搜索了很多,尝试了很多,但没有运气。我已经提到这一点。但这并没有解决我的问题。我在yii(yii 2)中安装了一个用户模块。我有用户配置文件url,如Php 如何在yii中为模块创建漂亮的url,php,yii,yii-url-manager,Php,Yii,Yii Url Manager,我已经搜索了很多,尝试了很多,但没有运气。我已经提到这一点。但这并没有解决我的问题。我在yii(yii 2)中安装了一个用户模块。我有用户配置文件url,如 但我想让它像 我的意思是没有guid查询字符串参数。 我正在尝试像这样的url管理器 'urlManager'=>array( 'urlFormat'=>'path', 'showScriptName'=>false,
但我想让它像
我的意思是没有guid查询字符串参数。 我正在尝试像这样的url管理器
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>/<action:\w+>/<guid:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
'urlManager'=>数组(
“urlFormat'=>“路径”,
'showScriptName'=>false,
'规则'=>数组(
'//'=>'/',
'/'=>'/',
),
如何可能?在Yii中,规则
参数(属性)的键必须是正则表达式模式。
如果我理解为true,那么您的url有一个结构控制器/操作(在我的例子中,Eb
is子文件夹),因此您的规则必须是:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>/<action:\w+>/<uguid:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
)
结果必须给出您想要的结果。您当前的url也可以使用
http://192.168.1.31/Eb/user/profile/uguid/ac0c4558-77fc-4896-9b30-f77afe4d81cd
您可以通过在urlmanager规则中添加以下行来删除控制器名称:
'/Eb/user/profile/<id:([0-9a-zA-Z_\-]+)' => 'Eb/user/profile/uguid/<id>'
”/Eb/user/profile/
'/Eb/user/profile/<id:([0-9a-zA-Z_\-]+)' => 'Eb/user/profile/uguid/<id>'