回答
如果您要使用此网址www.example.eu/product-url-1234
并假设'index'
是的动作名称控制器将处理请求
然后,像
'<id:.*?>'=>'user/index'
创建一个规则,现在,如果你会使用Yii::app()->createUrl('user/index',array('id'=>'product-url-1234'))
然后它会给你想要的结果。
如果您访问此URL,User/Index
将处理该请求。
非常感谢:D – Zombyii 2015-01-21 13:47:55
@Ivošš很高兴帮助:) – 2015-01-22 04:30:56
您正在尝试着在根级别的所有请求,一个控制器。
我认为所有的请求都被重定向产品/图航线
在你的配置去URL部分,
'(.*)'=>'product/view'
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'(.*)' => 'product/view',
'post/<id:\d+>/<title:.*?>' => 'post/view',
'posts/<tag:.*?>' => 'post/index',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
这意味着您捕获你的所有根要求产品控制器查看行动
那里你可以得到www.example.eu/product-url-1234使用
产品Yii::app()->request->requestUri
/视图
但是这并不是一个很好的方式来捕获所有传入的请求到单个控制器,更好的方法如下。
www.example.eu/product/product-url-1234
,那么你必须改变配置
'product/<product:.*?>'=>'product/view'
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'product/<product:.*?>' => 'product/view',
'post/<id:\d+>/<title:.*?>' => 'post/view',
'posts/<tag:.*?>' => 'post/index',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
在视图行动
,您可以通过$_GET['product']
- 1. Yii的网址经理创建URL,它的Yii无法理解
- 2. yii网址管理器。路径格式的网址
- 3. 警予网址经理
- 4. 网址经理警予
- 5. YII网址管理工作,除了网址与ID's
- 6. 的Yii 2.替换 “+” 网址 “ - ”
- 7. YII友好的SEO网址
- 8. Yii的清洁网址
- 9. Yii的网址重写
- 10. Yii 2休息服务网址管理
- 11. yii框架:网址路由
- 12. Yii CAPTCHA网址被破坏
- 13. 在Yii中编写好的网址
- 14. 在Yii的网址重写问题
- 15. 过滤网址以仅允许公开显示的网址
- 16. 仅显示网址变量
- 17. 网址在网址中的前缀
- 18. Silverstripe:清理网址
- 19. htaccess整理网址
- 20. 管理django网址
- 21. Django管理网址
- 22. Yii2的网址管理器允许在网址中加号(+)
- 23. Yii不正确的网址页面
- 24. Yii的模块行动网址
- 25. Yii框架:错误的创建网址
- 26. Yii无法路由模块的网址
- 27. 覆盖模块的Yii登录网址
- 28. YII网址如何生成新的URL
- 29. Yii的网址区分大小写
- 30. Yii和多种语言的网址
This'/ product-url-1234' is dinamic – Zombyii 2015-01-21 09:43:12