首页 > 代码库 > yii去除index.php的入口脚本显示为seo友好的url
yii去除index.php的入口脚本显示为seo友好的url
1.去除入口脚本需要在重写url,如果你的webserver软件时Apache的话,必须配置httpd.conf,搜索“LoadModule rewrite_module modules/mod_rewrite.so”,然后去掉此行前面的“#”[ps:注释符号]:
2.在yii的web应用程序主配置文件main.php[path\to\protected\config\main.php],使用urlManager增加一个数组配置选项‘showScriptName‘=>false:
1 ‘urlManager‘=>array(2 ‘urlFormat‘=>‘path‘,3 ‘showScriptName‘=>false,//去除入口脚本index.php的显示4 ‘rules‘=>array(5 ‘post/<id:\d+>/<title:.*?>‘=>‘post/view‘,6 ‘posts/<tag:.*?>‘=>‘post/index‘,7 ‘<controller:\w+>/<action:\w+>‘=>‘<controller>/<action>‘,8 ),9 ),
3.从项目的其它路径中复制一份.htaccess文件到与入口脚本index.php相同层次的路径下,用以下代码覆盖其中的内容:
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
关于apache重写规则的定义,请见:http://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html#rewriterule 以及http://www.maxi-pedia.com/FollowSymLinks
另外,如果你不知道如何在windows下创建没有文件名的文件可以使用如下方式创建到一个路径下:
yii去除index.php的入口脚本显示为seo友好的url