QQ登录

只需一步,快速开始

普拓源码论坛

查看: 46|回复: 0

Apache伪静态出现页面无法正常访问处理

[复制链接]

559

主题

605

帖子

2593

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2593
发表于 2019-7-25 17:47:23 | 显示全部楼层 |阅读模式
首先我们来看一下PbootCMS官方提供的伪静态规则:
  1. <IfModule mod_rewrite.c>
  2.   Options +FollowSymlinks
  3.   RewriteEngine On
  4.   
  5.   RewriteCond %{REQUEST_FILENAME} !-d
  6.   RewriteCond %{REQUEST_FILENAME} !-f
  7.   
  8.   #如果页面出现"No input file specified." 请注释第一条,启用第二条
  9.   RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  10.   #RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]  
  11.   
  12. </IfModule>
复制代码

这里有一条很重要备注提示:
#如果页面出现"No input file specified." 请注释第一条,启用第二条,为什么同样是Apache服务器会有多种情况呢?

在Apache服务器上,采用模块化运行与采用fastcgi运行方式的伪静态是有差别的,系统默认开启的规则是Apache采用模块化运行方式时需要配置的伪静态规则,而如果您当前的Apache采用fastcgi模式运行PHP,那么使用默认伪静态规则就会出现“No input file specified.”的错误提示。原因是Apache采用fastcgi模式的时候,不能识别PATH_INFO路径,报错如下:

Apache伪静态出现页面无法正常访问处理

Apache伪静态出现页面无法正常访问处理


所以在windows下很多人安装PbootCMS的时候都没出现这个问题,因为大部分windows用户安装的Apache是采用模块化运行方式的,而在linux上以及在少量windows系统用户采用fastcgi运行模式。如果你采用fastcgi运行方式的时候出现此类提示,只需要把规则改为如下即可(即启用备用规则):
RewriteRule ^(.*)$ index.php [E=PATH_INFO1,QSA,PT,L]

阿里云服务器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋| 普拓源码论坛 ( 湘ICP备16004512号-2 )

GMT+8, 2019-10-15 13:57 , Processed in 0.107484 second(s), 24 queries .

Powered by Discuz! X3.4

© 2015-2017 普拓信息

快速回复 返回顶部 返回列表