[PHP]yii framework 的 简洁网址以及隐藏 index.php

摘要:[PHP]yii framework 的 网址隐藏及 index.php 隐藏


嗯....

嗯...........

嗯...................

又是 [PHP]...........

而且又是 yii framework...... (#゚Д゚)

照旧 以上不是重点...


上一篇介绍了 yii framework 的启用及建立项目,相信连入该项目网站的话,都会发现网址会变成像这样.....
http://localhost/[项目名称]/index.php?r=site/page&view=about

那么能不能将网址简化的像是 .NET MVC 那样呢?????
如:http://localhost/[项目名称]/site/page/view/about

其实是可以的哦!!! 
(疑似远方传来不明生物想要抱怨以及槌人的谜之声:不然这篇留着纪念做什么用的......(╯-_-)╯╧╧

所以上网GOOGLE了一下,整理出重点来留存,步骤如下:

步骤一:
项目建立完成后,开启 /protected/config/main.php
找到程序中的被注解掉的 Array

// uncomment the following to enable URLs in path-format                               
/*                                                                                                                 
'urlManager'=>array(                                                                                    
    'urlFormat'=>'path',                                                                                  
    'rules'=>array(                                                                                         
        '/'=>'/view',                               
        '//'=>'/',                  
        '/'=>'/',                   
    ),                                                                                                               
),                                                                                                                    
*/                                                                                                                   


把整个 Array 的注解取消后将 'showScriptName'=>false, 加入数组之中,但是注意 false 不要上了单引号或双引号。

最后会变成



// uncomment the following to enable URLs in path-format
// 简洁网址
'urlManager'=>array(
    'urlFormat'=>'path',
        'showScriptName'=>false,
        'rules'=>array(
            '/'=>'/view',
            '//'=>'/',
            '/'=>'/',
        ),
),

步骤一结束啦!!


步骤二:
接着下来会发现,网址可以简洁了,但是却变得无法浏览 



所以我们需要在项目底下的第一层目录中加入 “.htaccess” 文件,
至于是哪个第一层目录嘛...当然就是那个想要被我们隐藏起来的 index.php 同层级的目录啦!!

.htaccess 的内容


Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php


有兴趣的大大们可以各别前往 GOOGLE 查看内容标签的各项作用。

存档后扔入刚刚所描述的那个神秘的目录后,就可以发现我们的网址变得更亲切啰  ლ(`∀´ლ)
成果就是~~~ http://localhost/[项目名称]/site/page/view/about

打到这边..其实真的有弱掉的FU...
因此,各位大大今天就先到这边告别了
以上步骤同样的以 apache 服务器为主唷!!

后纪..
菜鸟上路,随手编写...如有错误也请指正

20150414 update

Yii 2.0 改用


'urlManager' => [ 
	'enablePrettyUrl' => TRUE, 
	'rules' => [ 
		'//' => '/', 
		'/' => '/read', 
		's' => '/list' 
	], 
	'showScriptName' => FALSE,
	'suffix' => '.html' 
],(post|comment)>d+>(post|comment)>(create|update|delete)>d+>(post|comment)>