PHP 之 Ci框架下隐藏index.php
1. 修改 apache 配置文件
- 开启重写模块 conf/httpd.conf
去掉前面的#
LoadModule rewrite_module modules/mod_rewrite.so
对于Ubuntu,需要在apache安装目录下的 mods-enabled 文件夹中创建软连接。
进入 /mods-enabled 下,
cd mods-enabled/
sudo ln -s ../mods-available/rewrite.load rewrite.load # 要确保 ../mods-available/rewrite.load 文件存在,不存在需要安装rewrite模块
注:apache安装目录下:mods-available---未启用的模块,mods-enabled----已启用的模块
- AllowOverride None 修改为 AllowOverride All
可以在apache的配置文件 conf/httpd.conf 末尾添加如下代码,或是在 sites-enabled 文件夹下新建个 .conf 文件,文件名随意,也可像 mods-enabled/ 下那样创建链接。
Alias /athena "/home/liuqian/workspace/athena/" # 依据实际情况改为自己的路径
<Directory "/home/liuqian/workspace/athena/"> # 依据实际情况改为自己的路径
Options Indexes MultiViews FollowSymLinks
AllowOverride All # 主要是这个
Order allow,deny
Allow from all
</Directory>
注:apache安装目录下:sites-available---未加载的配置文件,sites-enabled----已加载的配置文件
2. 添加 .htaccess 文件
进入到项目文件夹下,在 index.php 所在的目录下创建 .htaccess 文件
文件中写如下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $ !^(index\.php|BJUI|captcha|js|plugins|images|robots\.txt) # index.php的同级目录下还有要过滤除去的文件夹,把名字一并写到这里
RewriteRule ^(.*)$ /athena/index.php/$1 [L] # 如果网站就在根目录下,就直接写 index.php/$1 [L],我的index.php是在根目录下的athena文件下中 #如果没有安装mod_rewrite模块,所有的404页面都将被 #发送到index.php,此时,程序会像没有设置隐藏时一样运行
ErrorDocument index.php
3. 修改Ci配置文件 application/config/config.php
$config['index_page'] = "index.php";
改为:
$config['index_page'] = "";
4. 重启apache 就ok了。
sudo apachectl restart # 这里是ubuntu的重启命令
PHP 之 Ci框架下隐藏index.php的更多相关文章
- CI 目录下放置index.html,防止直接访问
CI 目录下放置index.html,防止直接访问
- CI框架下CSS和JS的路径问题
注意:CI框架下的CSS和JS的引用必须放在框架外面,比如,可建立resource文件夹与application同级,用来封装CSS和JS. 在view层用resource里面CSS和JS可采用以下几 ...
- CI框架 .htaccess 隐藏url在index.php解决方案
CodeIgniter(下面简称"CI")是一款国外优秀的PHP轻量级MVC框架,它支持PHP4和PHP5.是开发中小型可拓展性需求高的Web应用程序的利器.眼下你所见到的这个博客 ...
- CI 框架下执行CLI(命令行)
1.可以按照Ci官方文件的指导来进行操作 让我们先创建一个简单的控制器,打开你的文本编辑器,新建一个文件并命名为 Tools.php,然后输入如下的代码: <?php class Tools e ...
- CI框架下 新浪微博登录接口完整版
https://www.cnblogs.com/yznyzcw/p/3756622.html#top 说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功 ...
- CI框架不能有Index控制器
今天部署了ci框架,想用用它.创建别的控制器没什么错误.但是我创建了一个Index控制器,并访问了index方法,报错了.但是直接在方法中写输出就没事.而且方法名称改为其他部位index的也能访问. ...
- CI框架uri去掉index.php
CI框架的入口是index.php,所以url实际上要多出一个index.php,非常不美观.我使用的是apache服务器,要开启mod_rewrite服务才可以. sudo a2enmod rewr ...
- CI框架下的get_instance() 函数
你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用 ...
- 在CI框架下执行存储的方法
我直接把代码摆在这里分享哈 <?php /** * * Created by JetBrains PhpStorm. * User: lsl * Date: 14-1-8 * Time: 下午2 ...
随机推荐
- basename、dirname、alias、date
basename 此命令用于打印目录或者文件的基本名称. basename和dirname命令通常用于shell脚本中的命令替换来指定和指定的输入文件名称有所差异的输出文件名称. basename ( ...
- EasyUI ---- draggable购物车
@{ ViewBag.Title = "Easyui_draggable"; Layout = "~/Views/Shared/Layouts.cshtml"; ...
- C#删除和清空文件夹的程序
/// <summary> /// 清空指定的文件夹,但不删除文件夹 /// </summary> /// <param name="dir"> ...
- c++ 容器元素填充指定数量的元素(generate_n)
#include <iostream> // cout #include <algorithm> // generate_n using namespace std; ; in ...
- python的print
grid=[['.', '.', '.', '.', '.', '.'], [', '.', '.', '.'], [', '.', '.'], [', '.'], ['], [', '.'], [' ...
- 打开XX.etl文件
1 复制你想打开的xx.etl文件到C:\Windows\System32下2 以管理员权限打开cmd, cd 到C:\ Windows\system32,该目录下会有个文件叫做tracerpt.ex ...
- java.lang.NoSuchMethodError问题处理
出现这个问题一般是jar包冲突了,我找了很久没找到是哪个jar冲突了.最后用下面的这段代码,找到是哪个jar冲突了 /** * find jar file */ String LOCATION = & ...
- import 与 import static
原文链接:https://www.geeksforgeeks.org/static-import-java/ java中的静态引用 直接解释 一般引入类的方式:import java.lang.Mat ...
- CRISPR基因编辑
2007年,一家酸奶公司发现一种细菌拥有抵御病毒的特殊防御机制.2012年,细菌的这种机制就被科学家阐述清楚,2013年这一领域快速增长.它被视为分子生物学的一个奇迹,事实上,它并非仅对生物学家产生革 ...
- 关Java的内存模型(JMM)
JMM的关键技术点都是围绕着多线程的原子性.可见性和有序性来建立的 一.原子性(Atomicity) 原子性是指一个操作是不可中断的.即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程 ...