CI框架开发后,部署到服务器时报404

jxye 2016-11-04 06:27:46
直接访问站点能访到welcome界面(www.site-name.com/index.php)能正常显示view里的welcome.php,但如果我通过www.site-name.com/index.php/welcome/index这个URL就访问不到。
应该是框架没工作,404界面不是CI自带的那个页面。
请问我应该如何配置CI框架,congfig.php里已经设置过base_url了。
...全文
527 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2016-11-06
  • 打赏
  • 举报
回复
servername/show.php/a/b/c/d显示的就是show.php的源码 这个是php没有解释导致。 看样子你的path_info没有开启成功了 在配置文件中加入 <Files *.php> AcceptPathInfo On </Files> 在Apache的配置文件(Apache安装目录的conf文件夹下的httpd.conf文件)里找到: #LoadModule rewrite_module modules/mod_rewrite.so 将前面的#去掉,改为: LoadModule rewrite_module modules/mod_rewrite.so 保存,重启服务器试试
jxye 2016-11-06
  • 打赏
  • 举报
回复
引用 8 楼 傲雪星枫的回复:
servername/show.php/a/b/c/d显示的就是show.php的源码 这个是php没有解释导致。 看样子你的path_info没有开启成功了 在配置文件中加入 <Files *.php> AcceptPathInfo On </Files> 在Apache的配置文件(Apache安装目录的conf文件夹下的httpd.conf文件)里找到: #LoadModule rewrite_module modules/mod_rewrite.so 将前面的#去掉,改为: LoadModule rewrite_module modules/mod_rewrite.so 保存,重启服务器试试
谢谢您,但rewrite模块我确实加载了。我现在的解决办法是把所有url都写成/index.php?/classname/methodname这样了。希望我有朝一日能弄明白这个问题,现在我先这样凑合完工了。
xuzuning 2016-11-05
  • 打赏
  • 举报
回复
需要开启短标记吧? 建议动下大手术,因为 php7 已经不支持短标记了。 晚改不如早改
jxye 2016-11-05
  • 打赏
  • 举报
回复
引用 2 楼 fdipzone 的回复:
服务器开启path_info 参考:http://blog.csdn.net/mengxiangbaidu/article/details/7496859 建一文件 show.php <?php echo $_SERVER['PATH_INFO']; 执行 http://servername/show.php/a/b/c/d 能看到结果就支持!
谢谢,按您说的改过后可以访到index.php/welcome了,但显示的就是index.php的源码,这是什么原因啊。。。唯一能正常显示的就是最开始的首页
jxye 2016-11-05
  • 打赏
  • 举报
回复
多谢两位,但打开短标记功能后还没解决…… 会不会是我path_info功能没启成,我按 fdipzone大大说的做,servername/show.php/a/b/c/d显示的就是show.php的源码。直接在index.php里打一句echo $_SERVER['PATH_INFO'];的话又会报Notice: Undefined index: PATH_INFO。 我按教程里做过了 (1) ---httpd.conf <Files *.php> AcceptPathInfo On </Files> (2) ---httpd.conf <Directory "/usr/local/apache2/cgi-bin/"> SetHandler fastcgi-script Options FollowSymLinks Order allow,deny Allow from all AcceptPathInfo On </Directory> (3) ---php.ini cgi.fix_pathinfo=1
傲雪星枫 2016-11-05
  • 打赏
  • 举报
回复
引用 4 楼 yjx562694586 的回复:
[quote=引用 2 楼 fdipzone 的回复:] 服务器开启path_info 参考:http://blog.csdn.net/mengxiangbaidu/article/details/7496859 建一文件 show.php <?php echo $_SERVER['PATH_INFO']; 执行 http://servername/show.php/a/b/c/d 能看到结果就支持!
谢谢,按您说的改过后可以访到index.php/welcome了,但显示的就是index.php的源码,这是什么原因啊。。。唯一能正常显示的就是最开始的首页[/quote] <?php phpinfo(); ?> 看看show_open_tag 是on還是off,如果是off,修改php.ini,改為show_open_tag = on 重啟后即可。
jxye 2016-11-04
  • 打赏
  • 举报
回复
会是pathinfo的问题吗,我今天有想过。因为其他人pathinfo出问题的情况跳转的404都是CI框架那个。我这个好像不太一样,多谢各位大大我明天试试
傲雪星枫 2016-11-04
  • 打赏
  • 举报
回复
服务器开启path_info 参考:http://blog.csdn.net/mengxiangbaidu/article/details/7496859 建一文件 show.php <?php echo $_SERVER['PATH_INFO']; 执行 http://servername/show.php/a/b/c/d 能看到结果就支持!
xuzuning 2016-11-04
  • 打赏
  • 举报
回复
你的服务器不支持 PATH_INFO

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧