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下创建没有文件名的文件可以使用如下方式创建到一个路径下:

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。