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.
共 2 条回复
-
ybt7755221 回复于 2012-08-15 16:50 举报
貌似没这么麻烦吧,直接在main.php里吧urlmanage那一项注视的部分取消。
'rules'=>array( '<controller:\w+>/<id:\d+>'=>'<controller>/view', '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', ),
然后直接在rules里写你要的规则就好了~~
共 1 条回复tangxiaofu 回复于 2017-06-04 20:44 回复看不懂这些规则- -
mark88
注册时间:2012-08-14
最后登录:1970-01-01
在线时长:0小时0分
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝1
- 金钱45
- 威望0
- 积分45