Apache 利用rewrite 隐藏index.php文件

1.开启apache的mod_rewrite模块
      去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号
      确保<Directory "..."></Directory>中有“AllowOverride All”
2.在项目中的/protected/config/main.php中添加代码:
            'urlManager'=>array(
                  'urlFormat'=>'path',
                  'showScriptName'=>false,//注意false不要用引号括上
                  'urlSuffix'=>'.html', //页面静态化
                  'rules'=>array(
),
             ),
3.在与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
这样就可以实现隐藏index.php入口文件了。



注: 如果项目不是直接映射到localhost/下,则应该做如下修改,
  RewriteRule . index.php----->RewriteRule ^(.*)$ /appstore/index.php/$1 [QSA,PT,L] 

你可能感兴趣的:(apache,rewrite,隐藏index)