mark88 2012-08-15 12:56:24 6440次浏览 2条回复 1 0 0

Yii中urlManager的配置

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

$urls = include(dirname(__FILE__) . '/urlrules.php');
'urlManager'=>array(
             'urlFormat' => 'path',
             'showScriptName' => false,//隐藏index.php 
             'urlSuffix' => '.html',//后缀 
             'rules' => $urls,

),

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

return array(
        '/index.html' => 'site/index', //首页
        'search' => 'search/index',

);

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

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

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如下:

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;
            }
 }

这个照抄的,可是根本出不来。 环境是:LINUX+nginx

报错为:File not found.

您需要登录后才可以回复。登录 | 立即注册