首页 > 后端开发 > 正文

ci框架index.php被篡改 CI框架如何删除URL中index.php的终极解决方案

2023-10-02 18:47:53 | 我爱编程网

今天我爱编程网小编为大家带来了ci框架index.php被篡改 CI框架如何删除URL中index.php的终极解决方案,希望能帮助到大家,一起来看看吧!

ci框架index.php被篡改 CI框架如何删除URL中index.php的终极解决方案

CI框架如何删除URL中index.php的终极解决方案

默认情况下,index.php 文件将被包含在你的 URL 中:

example.com/index.php/news/article/my_article

你可以很容易的通过 .htaccess 文件来设置一些简单的规则删除它。下面是一个例子,使用“negative”方法将非指定内容进行重定向:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

注意:如果你的项目不在根目录请把上面这一句改为:RewriteRule ^(.*)$ index.php/$1 [L]

在上面的例子中,可以实现任何非 index.php、images 和 robots.txt 的 HTTP 请求都被指向 index.php。

我的终极解决方案

但在实践中,以上方案仅适用于与运行于Apache环境下的服务器且并不具有充分的普遍适用性!当CI程序位于非根目录或位于某些虚拟主机上时,以上解决方案会引起”404错误”或”no input file specified”等错误.百度参考过相关问题的解放方案后,找到了一种具有通用性的有效删除URL路径中index.php的方法,代码参考如下:

index位于根目录时,你可以在index.php所在的根目录里新建.htaccess文件并使用以下代码:

RewriteEngine on
RewriteCond $1 !^(index\.php|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

当index.php不在根目录时,你可以在index.php所在目录里新建.htaccess文件并使用以下代码:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txtl)
RewriteRule ^(.*)$ /path_to_app/index.php?/$1 [L]

注意把path_to_app换成你的index.php所在文件的目录.假设你的index.php放在根目录的tool子文件夹下,你可以这样写:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txtl)
RewriteRule ^(.*)$ /tool/index.php?/$1 [L]

以上方案应该可以解决Apache环境下如何有效删除URL中index.php的问题,

ci框架index.php被篡改 CI框架如何删除URL中index.php的终极解决方案

ci如何去掉index.php(nginx)


nginx下ci去掉“index.php”的方法:首先在根目录下新增“.htaccess”文件;然后修改“nginx.conf”配置文件内容为“ rewrite ^/(.*)$ /index.php/$1;”;最后保存修改即可。
推荐:《PHP视频教程》
CI框架去除index.php(Nginx)
在根目录新增.htaccess文件
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>修改nginx.conf(如果有vhost.conf文件,则修改此文件)配置文件
location / {
index index.html index.htm index.php;
#autoindex on;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1;
}
}

ci框架index.php被篡改 CI框架如何删除URL中index.php的终极解决方案

ci框架如何去除index.php


ci框架去除index.php的方法:首先打开apache的配置文件并修改;然后在CI的根目录下建立“.htaccess”;接着修改内容为“RewriteRule ^(.*)$ /CI/index.php/$1 [L]”;最后重启即可。
推荐:《PHP视频教程》
去掉CodeIgniter(CI)默认url中的index.php的步骤:
1.打开apache的配置文件,conf/httpd.conf :
LoadModule rewrite_module modules/mod_rewrite.so把该行前的#去掉。
搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为:
AllowOverride All2.在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess,直接建立该文件名的不会成功,可以先建立记事本文件,另存为该名的文件即可。内容如下(CI手册上也有介绍):
RewriteEngine on

RewriteCond $1 !^(index.php|images|robots.txt)

RewriteRule ^(.*)$ /index.php/$1 [L]如果文件不是在www的根目录下,例如我的是:
_demo_1/index.php/第三行需要改写为
RewriteRule ^(.*)$ /CI/index.php/$1 [L]另外,我的index.php的同级目录下还有assets文件夹,这些需要过滤除去,第二行需要改写为:
RewriteCond $1 !^(index.php|images|<span >assets</span>|robots.txt3.将CI中配置文件(application/config/config.php)中
$config['index_page'] = "index.php";改成
$config['index_page'] = "";重启apache,完成。
php 框架ci去index.php的方法
网上有很多方法都要引入.htaccess文件,如果是在测试环境下,动态和静态的文件放到一块,可能测试会有一定的问题(由于全部定向到index.php),静态网页访问不了。
这里提供一种方法,只需要修改http.conf文件,
步骤:
1 :在配置虚拟目录下加入
<Directory />
Options Indexes FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/script/(.*) /script/$1 [L]
RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>2 将下面这行前面的;去掉
LoadModule rewrite_module modules/mod_rewrite.so3 重启apache就可以了,无需加入.htaccess文件 我爱编程网

以上就是我爱编程网整理的ci框架index.php被篡改 CI框架如何删除URL中index.php的终极解决方案相关内容,想要了解更多信息,敬请查阅我爱编程网。
与“ci框架index.php被篡改 CI框架如何删除URL中index.php的终极解决方案”相关推荐
ci框架的index.php CI框架如何删除URL中index.php的终极解决方案
ci框架的index.php CI框架如何删除URL中index.php的终极解决方案

ci框架如何去除index.phpci框架去除index.php的方法:首先打开apache的配置文件并修改;然后在CI的根目录下建立“.htaccess”;接着修改内容为“RewriteRule^(.*)$/CI/index.php/$1[L]”;最后重启即可。推荐:《PHP视频教程》去掉CodeIgniter(CI)默认url中的index.php的步骤:1.打开apach

2023-09-28 19:40:55
ci框架隐藏index.php ci框架如何去除index.php
ci框架隐藏index.php ci框架如何去除index.php

tp5如何隐藏index.php文件tp5隐藏index.php文件的方法:首先在文件入口的同级目录下添加“.htaccess”文件;然后配置内容为“RewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{...}”并保存即可。推荐:《PHP视频教程》隐藏的index.phpPS:这里说的入口文件指的是公共/index.php文件,配置文件就

2023-09-27 20:37:33
php的ci框架表格 ci框架如何去除index.php
php的ci框架表格 ci框架如何去除index.php

php现在比较热门实用的框架有哪些?PHP作为强大的Web开发语言,上手非常容易,开发效率很高,不需要像Java一样进行编译后才能执行,但是如果用原生的PHP来开发还是会存在开发速度慢,或者说后期维护难度大,缺乏代码严谨性等问题,我就需要使用目前流行的MVC框架,那么现在有哪些PHP框架更方便,更快捷呢?1.Laravellaravel可以说是从去年到今年都是最热门的PHP框架

2023-09-18 12:13:02
ci框架去掉index.php ci如何去掉index.php(nginx)
ci框架去掉index.php ci如何去掉index.php(nginx)

CI框架如何删除URL中index.php的终极解决方案默认情况下,index.php文件将被包含在你的URL中:example.com/index.php/news/article/my_article你可以很容易的通过.htaccess文件来设置一些简单的规则删除它。下面是一个例子,使用“negative”方法将非指定内容进行重定向:RewriteEngineonR

2023-08-27 08:07:09
ci框架去除index.php CI 框架怎么去掉隐藏入口文件 index.php
ci框架去除index.php CI 框架怎么去掉隐藏入口文件 index.php

CI框架怎么去掉隐藏入口文件index.php1.LoadModulerewrite_modulemodules/mod_rewrite.so,把该行前的#去掉。搜索AllowOverrideNone(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为AllowOverrideAll。2.在CI的根目录下,即在index.php,system的同级目录下,建立

2023-10-06 03:39:50
tp框架省略index.php TP中如何去掉URL中的index.php
tp框架省略index.php TP中如何去掉URL中的index.php

thinkphp3.0url如何去掉index.phpThinkphp中去除URL里的index.php:例如原路径是那么现在的地址是配置文件中加载了mod_rewrite.so模块//在APACHE里面去配置#LoadModulerewrite_modulemodules/mod_rewrite.so把前面的警号去掉2.AllowOverrideNone讲None改为

2023-09-26 03:02:26
tp框架隐藏index.php TP中如何去掉URL中的index.php
tp框架隐藏index.php TP中如何去掉URL中的index.php

thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php必须伪静态支持才行。伪静态去掉index.php和admin.php,然后程序的config.php配置文件添加'URL_MODEL',设置成'URL_MODEL'=&gt;2,//REWRITE模式注:如果空间不支持伪静态,千万不能把URL_MODEL的值设置为2,不然会打不开网站t

2023-09-30 03:19:11
如何去掉php框架 laravel框架如何去掉URL中index.php
如何去掉php框架 laravel框架如何去掉URL中index.php

ci框架如何去除index.phpci框架去除index.php的方法:首先打开apache的配置文件并修改;然后在CI的根目录下建立“.htaccess”;接着修改内容为“RewriteRule^(.*)$/CI/index.php/$1[L]”;最后重启即可。推荐:《PHP视频教程》去掉CodeIgniter(CI)默认url中的index.php的步骤:1.打开apach

2023-09-10 10:12:25