windows2003+iis6隐藏index.php htaccess隐藏url在index.php解决方案
web IIS 2017-06-25 2671 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6408694 2611 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)
CodeIgniter(下面简称"CI")是一款国外优秀的PHP轻量级MVC框架,它支持PHP4和PHP5。是开发中小型可拓展性需求高的Web应用程序的利器。秉承MVC架构的思想,CI中的全部控制器都须要经过单点入口文件index.php(默认)来载入调用。
也就是说,在默认情况下,全部CI开发项目的URL都会包含index.php。怎样去掉
Index.php呢,方法如下。

环境为:windows2003+iis6+FastCgi+ISAPI_Rewrite3

部署好windows2003+iis6+FastCgi+php+mysql环境了,可以运行基本的php程序了,但是不能去掉url中的index.php,是因为还没有安装ISAPI_Rewrite3,配置.htaccess。

1,下载ISAPI_Rewrite3,下载地址http://www.cr173.com/soft/20857.html

要点“其他下载地址”里面的地址,下载压缩包isapi_rewrite3_full.zip,里面包含绿色版和安装版。取出绿色版中的ISAPI_Rewrite3文件夹,放到任意位置,我放在了e:\phpserver\ISAPI_Rewrite3,跟php文件夹同目录。

2,IIS伪静态配置方法

我们打开Internet 信息服务(IIS)管理器,找到"网站",右键打开"属性"选项卡;

from clipboard

选择"ISAPI 筛选器"选项卡,点击"添加",弹出"添加/编辑筛选器属性","筛选器名称"写上ISAPI_Rewrite,这个可以自定义;"可执行文件"这里,通 过"浏览"找到伪静态组件安装目录下的ISAPI_Rewrite.dll文件即可,路径是e:\phpserver\ISAPI_Rewrite3\ISAPI_Rewrite.dll;

from clipboard

from clipboard

3,配置.htaccess文件,想隐藏首页的index.php,就在根目录放一个.htaccess,想隐藏二级目录的index.php,就在二级目录放一个。

(建立以.htaccess命名的文件的方法可以参考http://www.taotaoit.com/article/details/129.html)

.htaccess内容如下:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php)

RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

4,都配置好之后,重启iis就可以了


==========================================
20171205更新

服务器没装ISAPI_Rewrite3,然后让服务商给安装上,但是还是去不掉index.php,去掉就找不到页面。

然后用的本文下载的绿色版,文件夹放在跟php安装目录在同一目录,然后通过isapi筛选器添加ISAPI_Rewrite.dll,然后重启iis,就正常打开了。

具体原因不知道,不知道服务商安装的有什么问题。


==========================================

20180129更新

上面20171205更新后,好使了,可以去掉index.php。但是今天突然发现去掉index.php又不能用了,刚开始还以为别人删了什么配置导致不能用了。后来在网上搜索,才发现ISAPI_Rewrite3还有过期的说法。好像是45天的试用期后就不能用了,需要用破解版的覆盖一下,然后就可以了。

破解版详解https://jingyan.baidu.com/article/6525d4b138260aac7d2e9438.html

破解版百度网盘下载https://pan.baidu.com/s/1dDu3me9?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=

解压后有3个文件,直接覆盖,然后重启iis即可。


20181023更新

系统放在windows2008+iis7.5上面,不能使用.htaccess

根目录配置文件web.config内容

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
        <rewrite>
            <rules>
<rule name="已导入的规则 2" stopProcessing="true">
                    <match url="^(manage|school|appng)\/(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        <add input="{R:1}" pattern="^(index\.php)" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="{R:1}/index.php/{R:2}" />
                </rule>                
<rule name="已导入的规则 1" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        <add input="{R:1}" pattern="^(index\.php)" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
实现目的

http://www.abc.com/school/index.php/home/login变成
http://www.abc.com/school/home/login


http://www.abc.com/index.php/home/about变成
http://www.abc.com/home/about
可以隐藏根目录的index.php,也可以隐藏二级目录下面的index.php

版权声明:本篇文章来源于网络。 来源链接

相关推荐
iis提示“另一个程序正在使用此文件,进程无法访问。(异常来自HRESULT:0x80070020) ”解决办法
IIS | 2017-11-20 4358
Flash Media Server(FMS)占用80端口,IIS启动不了? 今天打开本地iis的时候,iis启动不了了,点启动就提示 经网上查找貌似是80端口被占用了。下面就是找出那个文件占用了80端口 1、 打开CMD DOS模式窗口 2、 在窗口中输入 netstat -obna 之后回车,在列出来的...
iis7怎么没有fastcgimodule
IIS | 2017-06-19 3629
在Windows7的控制面板-程序中“打开/关闭Windows功能”,在里面打开IIS,不要忘了打开IIS里的CGI(这个默认是不选的),如下图:
评论:0条
评论加载中...
发表评论