fastadmin前台首页可以访问 别的页面访问都提示No input file specified?(整理版)

发布于 2022-04-26 17:05:05
  1. httpd.conf配置文件中加载了mod_rewrite.so模块
  2. AllowOverride None 将None改为 All

php在apache中的运行方式有:CGI模式、FastCGI模式、Apache模块模式,详细了解自行搜索。
1.默认的

3p2XmuAkzP5gM2wFeBIbeg==

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

规则在apache fastcgi模式下会导致No input file specified.

KrjbDBvxpSNyoQScNF6CbQ==

2.修改成

bi2afZpcsDHWAhGm24tZHw==

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
或者
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

可以正常重写。

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^h5/(.*) /h5/index.html [QSA,PT,L]

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond $1 !^(h5)

    RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

</IfModule>

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|eot|otf|svg|ttf|woff|woff2)$">

    Header set Access-Control-Allow-Origin "*"

</FilesMatch>

这是由于你的服务器伪静态没有生效或错误导致的,如果你使用宝塔面板,请直接在宝塔面板后台->网站->伪静态 中选择ThinkPHP5的伪静态规则即可。

这种情况一般在Apache下伪静态不工作的情况下出现,
首先确保已经启用Apache的伪静态,确保目录已经配置好权限,如下面的Directory配置

<VirtualHost *:80>
    DocumentRoot "/Users/Karson/Project/fastadmin/public"
    ServerName fa.com 
    ServerAlias fa.com *.fa.com
    <Directory "/Users/Karson/Project/fastadmin">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

其次伪静态规则在Apache fastcgi模式下会导致No input file specified.,未指定输入文件。
请修改public目录下的.htaccess文件

默认的

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

修改成

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

查看更多

关注者
1
被浏览
1.3k
1 个回答
瑜伽之家
瑜伽之家 2022-04-26
梵我合一,修身养心方法。

网站根目录入口文件要加 /public

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览