本地开发完项目上传服务器后,只有首页可以显示,其它模块都是404不显示问题,解决完整方案

浏览:2128 发布日期:2017/03/31 分类:求助交流
首先本人是一个小白,初次接触thinkphp,花了10几天的时间迷迷糊糊搞完了一个小网站,在本地测试都没有问题了,然后上传服务器蒙逼了,只有首页能看,其它点开就是404错误页面。(注:服务器和本地都是win环境)
1、出现上面问题是隐藏入口index.php时出现的。本地用的apache环境,所以.htaccess是配置好的,用着可以。
上传服务器后输入http://域名/index.php/模块/控制器/方法,模块报404错误。
有的时候小白们还不明白服务器的配置,所以有问题,一下就不知道怎么回事了。各种查找问题就在大小写,路径有问题在找,问半天也没人告诉你。
2、输入http://域名/index.php/模块/控制器/方法,看应该是可以访问的。说明你的服务器不是apache的类型。所以你传上去的.htaccess不生效,index.php入口没有隐藏掉。
3、我最后找到的问题是我的服务类型是iis环境,所以上面什么大小写问题,路径配置文件不对等都搞了一遍还是没有解决。
4、确认自己服务类型后对应的重写url,就可以了。官网http://www.kancloud.cn/manual/thinkphp5/177576
5、现在好多服务器对httpd.ini已经不在友好的支持了。我的支持web.config,以下是我的配置,你可以直接复制后放网站的根目录下
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rewrite" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
最佳答案
评论( 相关
后面还有条评论,点击查看>>