隐藏index.php的步骤

经自己的实践,总结一下隐藏index.php文件的步骤

1.开启apache的mod_rewrite模块

      去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号

      确保<Directory "…"></Directory>中有“AllowOverride All”

2.在项目中的/protected/config/main.php中添加代码:

      'components'=>array(

            …

            'urlManager'=>array(

                  'urlFormat'=>'path',

                  'showScriptName'=>false,//注意false不要用引号括上

            'urlSuffix'=>'.html',

                  'rules'=>array(

                      'sites'=>'site/index',

                  ),

            ),

            …

        ),

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入口文件了。

第一次发贴,有不对的地方,请大家指正。

多谢分享你的经验!

终于找到了 执行成功 :rolleyes:

good job

:rolleyes: 谢谢分享

第二种方法好像不行啊

这里只有一种方法啊!你按步骤去做,应该是可以的!

分享一下我这儿的nginx下的配置吧:




server {

    listen       80;

    server_name  .yeegt.com;


    charset utf-8;


    location / {

        root   /home/yeegt/yiigt;

        index  index.php;

        try_files $uri $uri/ /index.php?$args;

    }


    location ~ ^/protected/ {

        deny  all;

    }


    # redirect server error pages to the static page /50x.html

    #

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   html;

    }


    location ~*.(js|jpg|jpeg|gif|png|ico)$ {

        root /home/yeegt/yiigt;

        expires 356d;

    }


    location ~ \.php$ {

        root           /home/yeegt/yiigt;

        fastcgi_pass   127.0.0.1:9010;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  /home/yeegt/yiigt$fastcgi_script_name;

        include        fastcgi_params;


        set $path_info $request_uri;


        if ($request_uri ~ "^(.*)(\?.*)$") {

            set $path_info $1;

        }

        fastcgi_param PATH_INFO $path_info;

    }

}



服务器环境是nginx + php5.3 fpm

域名信息就不改啦,也欢迎大家来看看 :)

我是来吸收经验的!你们不用理我!

请问你发的这个是什么啊? 干什么用的?为什么这么复杂?

这位兄弟分享的是nginx的配置

IIS怎么隐藏index.php啊?

看来 iis 不受待见啊。呵呵。我来分享一下:

[ISAPI_Rewrite]

RewriteRule /(?!static)(?!assets)(?!themes)(?!uploads)(.*)$ /index\.php [I,L]

复制之后保存成 httpd.ini放到根目录下就可以了。当然你的 iis 得安装 rewrite 组件。

很好,很强大!

thank you!

man

根据官方文档的话,nginx还需要分版本设置,以7.0为分割,nginx的locate中的写法都不一样。

这个是官方说明: http://www.yiiframework.com/wiki/15/how-to-hide-index-php-on-nginx/

IIS 插件 ISAPI Rewrite最新版支持APACHE的

IndexIgnore / 隐藏index.php

可以用这种方法

现在看不懂,迟早会看懂的,顶顶

:lol:

留个脚印 !不错 谢谢大家的分享

这个很不错。。。Nginx的配置。学习了。。。