Thinkphp5.1 打开网站:No input file specified.

Thinkphp5.1 打开网站:No input file specified.

找到目录:/public/.htaccess


  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

改成这个:


  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

其实就是在正则结果 “/$1” 前面多加了一个 “?” 号,问题也就随之解决了。

然后重启Nginx服务;再次访问即可。

正则里面的“?”是什么意思?

零次或一次 非贪婪

“?:”非获取匹配,匹配冒号后的内容但不获取匹配结果,不进行存储供以后使用。

单独的“?”:匹配前面的子表达式零次或一次。

当“?”紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多地匹配所搜索的字符串。

.htaccess文件是做什么的?

分布式配置文件 目录 配置

.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

你可能感兴趣的:(ThinkPHP框架,问题解决,PHP,php,服务器,开发语言)