欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

CI 框架隐藏index.php

程序员文章站 2022-05-27 09:37:40
...

和朋友在做一个小网站,用到了CI框架,之前测试都是在windows上,隐藏index.php也相对比较简单。但服务器是ubuntu系统,需要配置一下,根据网上看到的一些教程,结合自己电脑的特点,记录步骤如下: 1.服务器环境: ubuntu12.04 64位 2. 开启mod_rewrite模块

  和朋友在做一个小网站,用到了CI框架,之前测试都是在windows上,隐藏index.php也相对比较简单。但服务器是ubuntu系统,需要配置一下,根据网上看到的一些教程,结合自己电脑的特点,记录步骤如下:

1.服务器环境: ubuntu12.04 64位

2.开启mod_rewrite模块:

  (1)将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块.

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load 

  (2)修改 /etc/apache2/sites-enabled/000-default,将其中的:AllowOverride None 修改为:AllowOverride All,如下:

DocumentRoot /var/www
        
                Options FollowSymLinks
                AllowOverride All
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        

  重启apache2:

sudo service apache2 restart

3.在CI的根目录下,即在system的同级目录下,新建.htaccess文件:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|index\.html|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

  如果CI目录不是在www的根目录下,例如我的是:http://localhost/iter/index.php/,第四行需要改写为RewriteRule ^(.*)$ /iter/index.php/$1 [L]。

4.将CI中配置文件(system/application/config/config.php)中,将 $config['index_page'] = "index.php"; 中的index.php去掉。

//$config['index_page'] = "index.php";
$config['index_page'] = ""; 。

大功告成,小伙伴试试看!!!