YII 路由配置
伪静态,通过设置server服务,做域名地址的转换工作。
urlManager地址美化,通过程序的方式实现地址美化工作。
通过在主配置文件里配置组件来实现:
'components'=>array( // uncomment the following to enable URLs in path-format 'urlManager'=>array( 'urlFormat'=>'path', //配置路由 能够起到省略 r= 'rules'=>array( //加入后缀 user/login.html ===> user/login 别人会以为我们有静态页面 'user/login'=>array('user/login','urlSuffix'=>'.html'), //user/register.html ===> user/register 'user/register'=>array('user/register','urlSuffix'=>'.html'), //goods/20 ====> goods/detail&id=20 <>里面试正則表達式。 省略了当中方法,id作为參数 'goods/<id:\d+>' => 'goods/detail', //goods/20/zhangsan ===> goods/category&id=20&name=zhangsan 'goods/<id:\d+>/<name:[a-z]+>'=>'goods/category', //goods/4-2-3-5.html ===> goods/category&brand=4&price2&color=3&screen=5 'goods/<brand:\d+>-<price:\d+>-<color:\d+>-<screen:\d+>'=>array('goods/category','urlSuffix'=>'.html'), ), ),
更改路由后。原来路由便不起作用。
假设去掉index.php入口文件,通过伪静态来实现
开启apache重写模块服务httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
开启文件夹重写权限
AllowOverride all
3. 设置server级伪静态规则.htaccess文件到站点入口文件夹
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php
4. urlManager组件showScriptName属性置为false 'showScriptName'=>false,