(已经解决)nginx url重写的一些问题(隐藏index.php, pathinfo处理 已经解决 配置二级域名的重写部分解决)

首先隐藏index.php 已解决

然后pathinfo处理 已解决

再配置二级域名的重写 部分解决

http://v.XXX.com/<uid:\d+>’ => ‘theatre/index’, 这个二级域名配置生效了

但想把其他所有的controller用http://my.XXX.com/ 这个二级域名,咋处理??

nginx配置




location / {

            rewrite ^/(.*)$ /index.php/$1 break;

            fastcgi_pass  127.0.0.1:9010;

            fastcgi_index index.php;

            fastcgi_param  PATH_INFO $fastcgi_script_name;

            include fastcgi.conf;

            index  index.php;

        }



如果隐藏index.php+pathinfo,静态资源url会被重写加上index.php




location ~* ^.+\.(js|ico|gif|jpg|jpeg|pdf|png|css|swf|xml)$ {

          access_log   off;

          expires      0d;

        }



config 配置




        'urlManager' => array(

            'urlFormat' => 'path',

            'showScriptName'=>false,

            'rules' => array(

                'http://my.XXX.com/' =>'<controller>/<action>',

                'http://v.XXX.com/<uid:\d+>' => 'theatre/index',

//                '<controller:\w+>/<id:\d+>' => '<controller>/view',

//                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',

//                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',

            ),

        ),



另外cookbook里的




location /yiiGuestbook {

    if (!-e $request_filename){

        rewrite (.*) /yiiGuestbook/index.php/$1;

    }

}



这个在.8系列里面会给所有的url都+上index.php ,!-e $request_filename无法过滤文件和目录,为什么?

高手啊!在哪里?sos!




        'urlManager' => array(

            'urlFormat' => 'path',

            'showScriptName'=>false,

            'rules' => array(

                'http://v.XXX.com/<uid:\d+>' => 'theatre/index',

                'http://my.XXX.com/<controller>/<action>' =>'<controller>/<action>',

//                '<controller:\w+>/<id:\d+>' => '<controller>/view',

//                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',

//                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',

            ),

        ),



把其他所有的controller用http://my.XXX.com/ 这个二级域名,这样成功解决~~

高人,膜拜中!

看我的吸星大法,我吸收了!

urlManager是个牛东西~

马克一下!