ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

  • 时间:2018-06-12 20:05 作者:Lccee 来源:Lccee 阅读:174
  • 扫一扫,手机访问
摘要:针对不同的WEB服务器,ThinkPHP V5需要的伪静态内容是不一样的,而且在Apache服务器上,板块化运行与采使用FCGI运行方式的伪静态也有差别-----------apache、nginx、iis、安装TP5之Apache篇开始-----------特别一提的地方(重要)在Apache服务

针对不同的WEB服务器,ThinkPHP V5需要的伪静态内容是不一样的,

而且在Apache服务器上,板块化运行与采使用FCGI运行方式的伪静态也有差别

-----------apache、nginx、iis、安装TP5之Apache篇开始-----------

特别一提的地方(重要)

在Apache服务器上,采使用板块化运行与采使用FCGI运行方式的伪静态也是有差别的、

所以有的人在安装ThinkPHP V5的时候就会出现No input file specified.的错误提醒

下面这个伪静态是Apache采使用板块运行方式时需要配置的伪静态内容,详细的运行方式可查看我以往的博客内容

(假如您当前的Apache采使用Fcgi模式运行PHP,那么这个伪静态就会出现“No input file specified.”的错误提醒)

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

上面的伪静态为什么有的人可以正常用,而有的人用确出现“No input file specified.”的提醒呢?

那是由于Apache只有采使用fastcgi模式的时候,才出现不可以识别PATH_INFO的情况,所以在windows下很多人安装ThinkPHP V5的时候都没出现这个问题,由于大部分windows使用户安装的Apache是采使用板块化运行方式的,而在linux上以及在windows系统下采使用FCGI运行模式的都出现了“No input file specified.”提醒。

假如你采使用FCGI运行方式的时候出现此类提醒,只要要把

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

改写成

RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L] 就可,改写后的伪静态如下(注意E=PATH_INFO:$1)

 Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]

友情提醒:PHPWAMP支持多模式,主界面默认站点是板块化运行方式,站点管理是Fcgi模式,

所以主界面的默认站点能直接用ThinkPHP V5默认的伪静态,而站点管理需要用修改后的伪静态。

选择相关设置切换php版本后选择这里启动Apache2.4

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

选择这里默认的三个版本都能启动Apache2.4,这里选择的版本仅仅是默认站点的版本

默认站点采使用的常见的板块运行方式,所以能直接用上面第一个未经改动的伪静态文件。

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

启动后在站点管理界面增加站点,复制上面修改过的伪静态进去即可以了,由于站点管理是FCGI模式

在增加站点的时候,网站根目录应该选择public文件夹,这样即可以打开默认的ThinkPHP V5页面了。

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

假如你在上个步骤用默认的伪静态,因为站点管理是FCGI模式,那么就会出现下面的No input file specified.”提醒

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

所以我们必需改使用修改后的伪静态,启使用修改后的伪静态即可以正常打开http://localhost:8033/index/index/index这个页面了

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

-----------apache、nginx、iis、安装TP5之nginx篇开始-----------

在Nginx服务器上安装ThinkPHP V5的伪静态如下所示

if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; }

具体流程如下图,点击菜单相关设置,而后我们先启使用Nginx服务器

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

打开nginx站点管理增加站点,网站目录选择public文件夹,就不使用在url后面增加public访问了

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

增加站点后,我们会发现增加的站点根目录自动生成了属于Nginx服务器的伪静态文件“nginx.htaccess”

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

打开此伪静态文件,里面默认集成了常见网站的伪静态,找到属于TP5的伪静态,去掉前面#号后就可(重启Nginx)

你也能把里面默认的伪静态一律删掉,直接复制前面我提供的Nginx下TP5的伪静态也是可行的(设置须重启Nginx)

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

假如你的Nginx伪静态设置错误,通常访问如下路径“http://localhost:8088/index/index/index/”将会出现404错误

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

假如正确的设置了Nginx下TP5程序的伪静态,打开该页面才可以正常显示

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

-----------apache、nginx、iis、安装TP5之iis篇开始-----------

在iis服务器上安装ThinkPHP V5的伪静态还需要额外的这几个步骤

1、服务器需要安装:URL Rewrite 下载地址可在微软官网自行搜索

2、在IIS的高版本下面能配置web.Config,在中间增加rewrite节点:

加在 里面即可以了

            

具体步骤,打开PHPWAMP的相关设置,点击IIS站点管理

此IIS站点管理能操作系统内置的IIS服务器,快速增加PHP站点,能多个PHP版本同时运行

增加后的站点能在phpwamp的iis站点管理进行修改,也能在系统的iis管理器里面修改,通使用。

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

增加一个iis站点,php版本任意选,而且还能自己设置php版本,支持32位/64位PHP任选。

增加站点后,就会发现增加的站点根目录自动生成了属于IIS服务器的伪静态文件“web.config”

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

增加网站后重启iis,而后访问路径http://localhost:8088/index/index/index会出现404,由于还没设置伪静态web.config文件

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

在设置伪静态web.config文件之前,我们必需先安装伪静态板块,在前面提供的urlrewrite2.exe文件下载地址下载后,

进行urlrewrite2.exe的安装,安装完成后需要重启动电脑,而后导入IIS服务器下TP5的伪静态就可,下面继续详细步骤

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

安装伪静态可可以出现的起因与处理方案

假如安装伪静态时提醒出现了已安装,你能搜索以下文件,删掉“rewrite.dll”文件就可,该文件一般在C:\Windows\System32\inetsrv目录下

友情提醒:安装伪静态后最好是重启一下电脑,假如安装伪静态过程中遇到任何疑问,可按照此步骤重装伪静态板块

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

安装完伪静态后,我们点击此处打开系统的iis管理器

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

打开后就会发现如下图标,多了“URL重写”这个图标,说明安装好了伪静态板块。

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

安装伪静态板块成功之后,即可以在网站根目录的web.config文件里面增加上面的伪静态规则了,

早在前面我们增加站点的时候已经自动在站点根目录下面生成web.config文件了,如下图红框所示。

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

我们能直接打开它,增加上面的伪静态内容就可,修改文件web.Config,

在中间增加rewrite节点,加在 里面即可以了,如下图增加

保存后刷新http://localhost:8088/index/index/index,我们就发现可以正常打开,不再出现404提醒了。

ThinkPHP V5在apache、nginx、iis下的安装过程、处理伪静态错误

至此,Nginx、Apache、IIS三大主流WEB服务器设置伪静态的详细过程讲解完毕,

假如按照操作出现错误,请屡次熟读本文中的内容,不要只看图片,文字叙述才是重点。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|服务器应用】前台开发入门到实战:HTML5语义化元素你真的用的正确吗?(2019-08-22 04:16)
【系统环境|服务器应用】Vue仿微信app页面跳转动画(2019-08-22 04:16)
【系统环境|服务器应用】webstorm使用快捷键快速修正单个文件的style(2019-08-22 04:16)
【系统环境|服务器应用】程序员从学生到阿里经历的5次蜕变:海阔凭鱼跃,天高任鸟飞(2019-08-22 04:16)
【系统环境|服务器应用】var、let、const的区别(2019-08-22 04:16)
【系统环境|服务器应用】mini-ui加载框Indicator 被遮挡问题(2019-08-22 04:15)
【系统环境|服务器应用】【对讲机的那点事】玩对讲机,对于对讲机的亚音你理解吗?(2019-08-22 04:15)
【系统环境|服务器应用】前台中高级面试,内功心法(上)(2019-08-22 04:15)
【系统环境|服务器应用】17、改进轮播图之功能封装(2019-08-22 04:15)
【系统环境|服务器应用】第10题- 你不知道的delete操作符(2019-08-22 04:15)
手机二维码手机访问领取大礼包
返回顶部