PHP 对 SEO 友好的 MVC URL
PHP MVC with SEO friendly URL
我知道,
http://hostname/params1/params2
params1 代表模型名称,params2 代表动作名称。
但是如果我有一个像 ReceivedRequest
这样的模型 class 名称,我如何将 params1(receivedrequest) 中的所有小写字母转换为 class 名称格式?这种情况经常发生在 MVC 开发过程中
在 Yii 中,您可以将 url 规则 caseSensitive
选项设置为 false(默认为 true)
要做到这一点,假设默认的 controller/action 规则,在您的配置中:
在您的配置中:
array(
......
'components'=>array(
......
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<action:\w+>' => array('<controller>/<action>','caseSensitive'=>false),
),
),
),
);
请注意,如果您这样做,那么您应该遵循在指定控制器映射 (CWebApplication::controllerMap) 和动作映射 (CController::actions) 时使用小写字母的约定。
另外,组织控制器的目录名要小写
我知道,
http://hostname/params1/params2
params1 代表模型名称,params2 代表动作名称。
但是如果我有一个像 ReceivedRequest
这样的模型 class 名称,我如何将 params1(receivedrequest) 中的所有小写字母转换为 class 名称格式?这种情况经常发生在 MVC 开发过程中
在 Yii 中,您可以将 url 规则 caseSensitive
选项设置为 false(默认为 true)
要做到这一点,假设默认的 controller/action 规则,在您的配置中: 在您的配置中:
array(
......
'components'=>array(
......
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<action:\w+>' => array('<controller>/<action>','caseSensitive'=>false),
),
),
),
);
请注意,如果您这样做,那么您应该遵循在指定控制器映射 (CWebApplication::controllerMap) 和动作映射 (CController::actions) 时使用小写字母的约定。
另外,组织控制器的目录名要小写