“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
也就是说,在默认情况下,全部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)管理器,找到"网站",右键打开"属性"选项卡;
选择"ISAPI 筛选器"选项卡,点击"添加",弹出"添加/编辑筛选器属性","筛选器名称"写上ISAPI_Rewrite,这个可以自定义;"可执行文件"这里,通 过"浏览"找到伪静态组件安装目录下的ISAPI_Rewrite.dll文件即可,路径是e:\phpserver\ISAPI_Rewrite3\ISAPI_Rewrite.dll;
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