YII URL中下划线或非字母数字的路径格式

时间:2014-01-15 11:00:22

标签: php yii

我有像下面这样的路径

http://locahost.com/wayinfra/site/wayinfracms?view=about_us
http://locahost.com/wayinfra/site/project?view=justa_hotels

我想将网址用作

http://locahost.com/wayinfra/about_us
http://locahost.com/wayinfra/project/justa_hotels

添加了要求 - 当我在网址管理器'project/<view:\w+>'=>'site/project/'中使用网址locahost.com/wayinfra/project/justa显示完美但locahost.com/wayinfra/project/justa_hotels生成错误无法找到请求。< / p>

我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

阅读以下文件:

Yii's URL Management

答案 1 :(得分:1)

来源 - http://www.yiiframework.com/doc/guide/1.1/en/topics.url

首先需要配置Web服务器,以便入口脚本仍然可以处理没有条目脚本的URL。对于Apache HTTP服务器,可以通过打开URL重写引擎并指定一些重写规则来完成此操作。我们可以使用以下内容创建文件/wwwroot/blog/.htaccess。请注意,相同的内容也可以放在/ wwwroot / blog的Directory元素中的Apache配置文件中。

RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

然后在urlManager数组中配置'showScriptName'=>false

根据需要在参数中使用下面的代码表示字母数字和下划线。

 `'project/<view:[a-zA-Z0-9_]+>'=>'site/project/'`