分享

yii urlmanager 伪静态

 corefashion 2014-06-12

可以这样写:

'<controller:(post|product|user)>/<id:\d+>-<page:\d+>' => '<controller>/list',
'<controller:(post|product|user)>/<id:\d+>' => '<controller>/list' 

\d+  匹配数字    \w+匹配字母



第一步:

在main.php配置文件的component域中添加urlManager模块,并加入urlrules.

1
2
3
4
5
6
7
8
9
10
11
$urls include(dirname(__FILE__) . '/urlrules.php');  
             :  
             :  
    
'urlManager'=>array(  
             'urlFormat' => 'path',  
             'showScriptName' => false,//隐藏index.php   
             'urlSuffix' => '.html',//后缀   
             'rules' => $urls,  
    
),

第二步:在同级目录下写urlrules.php.如:

1
2
3
4
5
return array(  
        '/index.html' => 'site/index'//首页  
        'search' => 'search/index',  
    
);

第三步,当然是配置服务器的rewrite模块,使得入口为index.php

1)apache下,在网站根目录下建立.htaccess如下:

1
2
3
4
5
6
7
8
9
10
Options +FollowSymLinks   
    
IndexIgnore */*   
    
RewriteEngine on    
if a directory or a file exists, use it directly   
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
    
RewriteRule . index.php

2) nginx下在php配置模块和location模块添加rewrite如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
location / {  
            root   /home/george/workspace/EclipsePHP/webroot;  
            index  index.html index.php index.htm;  
            #try_files $uri $uri/ @rewrite;  
            if (!-f $request_filename){  
                rewrite (.*) /index.php;  
            }  
 }  
location ~ \.php$ {  
             root            /home/george/workspace/EclipsePHP/webroot;  
            fastcgi_pass   127.0.0.1:9000;  
            fastcgi_index  index.php;  
            fastcgi_param  SCRIPT_FILENAME   /home/george/workspace/EclipsePHP/webroot$fastcgi_script_name;  
            include        fastcgi_params;  
            if (!-f $request_filename){  
                rewrite (.*) /index.php;  
            }  
 }

ok.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多