使用apache的url重写规则绑定域名到子目录

如果是使用apache做web服务器的虚拟主机,可以在站点根目录下的.htaccess文件中添加url重写规则实现绑定域名到子目录;
如果.htaccess文件中已经存在其它规则,不要覆盖原有规则,追加对应规则即可;
以绑定域名www.testvhost001.cc到子目录subsite为例,相应的url重写规则如下;
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/subsite/
RewriteCond %{HTTP_HOST} ^www.testvhost001.cc$
RewriteRule ^(.*)$ /subsite/$1 [QSA,PT,L]

linux下源码安装php5.6

1、安装相关依赖库
yum -y install gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
2、下载php5.6的源码包安装
wget http://php.net/distributions/php-5.6.37.tar.gz
tar -zxf php-5.6.37.tar.gz
cd php-5.6.37
./configure --prefix=/usr/local/php56 --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-pdo --with-apxs2=/usr/local/apache24/bin/apxs
(--with-apxs2指向的路径/usr/local/apache24/bin/apxs需要根据apache的实际安装路径调整)
make && make install
安装完毕后,通过命令cat httpd.conf | grep libphp5查看apache配置文件中已经有下面这行加载php动态库的配置了;
LoadModule php5_module modules/libphp5.so
3、接下来在apache配置文件httpd.conf中搜索AddType,在相关配置的下一行添加以下配置
AddType application/x-httpd-php .php 保存
然后执行命令service httpd restart重启apache ,在站点根目录下放一个php探针文件,访问该文件可以显示php环境信息,就表示已经安装好了。

centos7.3下源码安装apache2.4.34

1、先安装编译器等基本组件;
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel expat-devel
2、下载apr和apr-uti这2个库并解压,安装apache需要这2个库;
wget http://mirror.bit.edu.cn/apache/apr/apr-1.6.3.tar.gz
tar -zxvf apr-1.6.3.tar.gz
wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
3、接下来下载apache源码进行安装;
wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.34.tar.gz
tar -zxvf httpd-2.4.34.tar.gz
将之前下载并解压的apr和apr-uti的目录复制到apache源码目录下的目录/srclib/的下面,同时将复制后的目录apr-1.6.3重命名为apr,apr-util-1.6.1重命名为apr-util
cp -r apr-1.6.3 ./httpd-2.4.34/srclib/apr
cp -r apr-util-1.6.1 ./httpd-2.4.34/srclib/apr-util
然后开始编译安装
./configure --prefix=/usr/local/apache24 --enable-so --enable-rewrite --enable-zlib --with-include-apr
make && make install
安装完毕后,将apache所带的服务脚本添加到系统服务
cp ./support/apachectl /etc/init.d/httpd
cd /etc/init.d/
chmod +x httpd
执行命令service httpd start 启动apache
访问80端口显示" It works!"表示apache已经启动
4、若开启了防火墙,需要在防火墙放行80端口,可以使用以下命令放行
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload