首先在apache2配置目录中建立虚拟主机配置文件如下

ServerName gzshes.localhost

DocumentRoot "/var/www/gzshes"

DirectoryIndex index.html index.php

Options Indexes FollowSymLinks ExecCGI

AllowOverride All

Require all granted

#下面为URL静态重写环境的配置,也就是根据正则表达式规则重写一些URL链接,以实现静态html文件的效果,便于搜索引擎爬虫收录,简称 URL重写伪静态环境

RewriteEngine On

RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2

RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3

RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3

RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3

RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

其次在站点根目录中新建.htaccess文件如下

SetHandler application/x-httpd-php-cgi

AddType application/x-httpd-php-cgi .php

Action  application/x-httpd-php-cgi "/php53/php-cgi"

作用是把php文件添加标记 application/x-httpd-php-cgi;然后根据网站根目录.htaccess文件调用不同的解释器。

比如我的gzshes.cn站点调用的就是php-5.3.17,对应下面面ScriptAlias /php53/

/usr/local/bin/,意思是脚本别名为/php53/的解释器为/usr/loca//bin

中,又因为网站根目录中配置了.htaccess文件,里面定义了对应于如何解释带有application/x-httpd-php-cgi标记的脚本

文件,这里就是调用脚本别名/php53/目录中的php-cgi解释器,这是php编译的CGI模式执行文件,对于虚拟主机目录中所有的php文

件apache会自动调用/usr/local/bin/php-cgi来解释运行。

要支持.htaccess文件需要在apach配置文件/etc/apache2/apache2.conf中修改如下

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

还要添加如下内容以设置正确的解释器别名,

ScriptAlias /php53/ /usr/local/bin/

ScriptAlias /php56/ /usr/bin/

不过另外要提醒的一个是权限问题,假如碰到如下所示

Forbidden

You don't have permission to access /php53/php-cgi/phpinfo.php

on this server.

Apache/2.4.12 (Ubuntu) Server at gzshes.localhost Port 80

那基本可以说明我们的配置已经生效了,但是存在权限问题。我也因为这个问题折腾了半天多,检查了很多遍也不知道是哪里的权限问题,后来偶然间就怀疑是不是根目录权限问题,因为子目录我已经设置了权限,再把  /  根目录设置为  Require all granted后问题立马解决,问题果然是根目录权限不对。原来单纯设置子目录权限还不行,还必须它的父目录也有正确的权限

Options FollowSymLinks

AllowOverride None

#  Require all denied

Require all granted

AllowOverride None

Require all granted

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

#

#    Options Indexes FollowSymLinks

#    AllowOverride None

#    Require all granted

#

apache配置php版本,apache配置支持多版本php相关推荐

  1. Chrome的版本和Selenium支持的版本不一致

    chrome的版本和Selenium支持的版本不一致,报错如下: selenium.common.exceptions.SessionNotCreatedException: Message: ses ...

  2. 工业用Linux版本,工业主板支持哪些版本的LINUX系统?

    工业主板支持哪些版本的LINUX系统? 工业主板,主要用于一些工业控制,智能制造,数据采集,人工智能,安防监控,自助设备等场合,不一定要求速度快,但一定是要求稳定.而LINUX系统,由于源代码是开放的 ...

  3. 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )

    初学者遇到 Android Studio, 导入工程后, 会出现各种奇葩错误, 如果管理好各个插件, gradle, SDK, SDK Tools, 各种官方依赖库 的版本, 会将错误大大的减少; 这 ...

  4. 解决低版本Xcode不支持高版本iOS真机调试的问题

    今天在做真机调试的时候,遇到下面的一个问题: Could not locate device support files. This iPhone 6s is running iOS 11.1 (15 ...

  5. [CDH安装]--CDH5和Cloudera Manager 5要求和支持的版本

    原文: https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html# ...

  6. Windows每个版本自带的.NET版本,与支持的最高.NET版本

    桌面版本: 注:支持最高版本的 .NET 版本列中,Latest 代表目前最高版本的均支持 Windows版本 自带.NET Framework 版本 支持最高的 .NET Framework 版本 ...

  7. Spring版本特性--->Spring各个版本引入了哪些新特性?-1

    Spring各个版本引入了那些新特性 Spring版本支持与依赖 Spring Framework版本 Java 标准版 Java 企业版 1.x 1.3+ J2EE 1.3+ 2.x 1.4.2+ ...

  8. web服务软件 html5,配置WEB服务器(apache,nginx),支持 html5 video(ogv, webm.etc)播放...

    nginx默认丢失了 html5视频的媒体类型,比如Ogg\Ogv\WebM等,要支持这些媒体类型, 必须自己添加相应媒体类型到 nginx/conf/mime.types (Windows版本)文件 ...

  9. apache+mod_wsgi+django的环境配置

    2019独角兽企业重金招聘Python工程师标准>>> 在原先使用django开发完成项目的时候需要部署到服务器上面所以选择了apache和mod_wsgi的搭配,这些项目在网上有很 ...

  10. apache php5.3 配置_php-5.3+APACHE 安装配置

    由于apache版本的不同,对应的"php5apache2.dll"也不同,如果你加载了错误的"php5apache2.dll",则会提示Cannot load ...

最新文章

  1. 对方不想和你说话 php,对方不想和你聊天的表现,遇到后赶紧放弃
  2. web.xml 配置中classpath: 与classpath*:的区别
  3. Java3y文章目录导航
  4. 用php模拟斗地主发牌,php模拟实现斗地主发牌
  5. nginx配置和安装
  6. DOS批处理高级教程:第七章 DOS批处理编程高级技巧(转)
  7. 数字集群通信知识与应用
  8. IBM、Google、Oracle三巨头的公有云之殇(上)
  9. 【SCENIC】Single Cell rEgulatory Network Inference and Clustering
  10. MacBook上下载安装Mysql
  11. JavaScript下的setTimeout(fn,0)的作用,涨知识了
  12. 详解ip地址和mac地址即ARP协议
  13. 微信小程序搜索,搜索历史,清除搜索历史,以及点击搜索历史实现搜索功能
  14. Python人工智能之图片转文字识别
  15. 做好项目信息管理,是优秀项目经理的必备技能
  16. 处理Spring WebFlux中出现的错误
  17. Promise、THEN链的穿透/顺延机制、关于Promise.all/any/race 三个方法的研究、AJAX的串行和并行
  18. 包包各部位名称图解_包包各个部位的英文表达
  19. 定义一个圆,求圆的面积
  20. 使用python简单的抓取网络小说

热门文章

  1. Jsoup使用选择器语法来查找元素
  2. Jsoup解析HTML字符串
  3. bme280 环境传感器开发板_STM32Cube14 | 使用硬件I2C读写环境光强度传感器
  4. 浏览器打开出现证书错误_2分钟轻松解决ie证书错误
  5. java设置行显示复选框_java spring cheakbox复选框怎么行或者列删除添加
  6. 我的世界服务器虚拟菜单插件,《我的世界》服务器快捷菜单插件怎么用?
  7. java httpclient 异步请求_java_java实现HttpClient异步请求资源的方法,本文实例讲述了java实现HttpClien - phpStudy...
  8. opencv24-直方图比较
  9. python mysql in 参数_python mysql中in参数化说明
  10. legend2---开发日志5(如何解决插件的延迟问题,比如vue)