Apache中Virtual Host虚拟主机配置及rewrite参数说明

 更新时间:2016年03月07日 17:25:31   作者:傲雪星枫  
这篇文章主要介绍了Apache中Virtual Host虚拟主机配置及rewrite模块中的重要参数说明,是在同一个Apache服务器软件上部署多个站点的基础方法,需要的朋友可以参考下

Virtual Host配置过程

这里例子中我们的路径为这样
DocumentRoot: /home/jb51 /sites/demo.jb51.net
ServerName:demo.jb51.net

1.进入apache虚拟主机设置目录

cd /etc/apache2/sites-available 

2.创建文件demo.jb51.net

<VirtualHost *:80> 
    ServerAdmin webmaster@localhost 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/jb51 /sites/demo.jb51.net 
    ServerName demo.jb51.net 
    ServerAlias demo.jb51.net 
    <Directory "/home/jb51 /sites/demo.jb51.net"> 
        allow from all Options + Indexes 
    </Directory> 
</VirtualHost> 


3.激活虚拟主机配置

sudo a2ensite demo.jb51.net 


4.进入 /etc/apache2/sites-enabled/目录,可以查看所有激活的虚拟主机。可以用 sudo a2dissite demo.jb51.net 注销

cd /etc/apache2/sites-enabled 
ls -lt 

显示 

复制代码 代码如下:

lrwxrwxrwx 1 root root 36 2013-04-05 17:29 demo.jb51.net -> ../sites-available/demo.jb51.net 

 
5.重启apache服务

sudo /etc/init.d/apache2 restart 


6.ubuntu 设置host

vim /etc/hosts 

 

127.0.0.1 demo.jb51.net

 
7.<Directory>设置开启.htaccess与显示目录结构列表

<Directory "/home/jb51 /demo.jb51.net"> 
AllowOverride none 
AllowOverride all 
Options -Indexes FollowSymLinks 
</Directory> 

AllowOverride none 表示关闭.htaccess,如要开启可设置为AllowOverride all
Options -Indexes 表示关闭目录结构显示,如要开启可设置为 Options Indexes
Options FollowSymLinks 表示支持symbol link(软连接),如要关闭可设置为Options -FollowSymLinks

rewrite模块重要参数说明

开启rewrite:

sudo a2enmod rewrite 

停用rewrite:

sudo a2dismod rewrite 

服务器环境变量:Apache提供给rewirte模块的环境变量大概分成5个类型.

第一部分: HTTP headers 部分参数

1.参数名称: HTTP_USER_AGENT
样例参考值: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
说明: 相当于PHP中的服务器参数: $_SERVER["HTTP_USER_AGENT"]

2.参数名称: HTTP_REFERER
样例参考值: http://www.test.cn/test.php
说明: 相当于PHP中的服务器参数: _SERVER["HTTP_REFERER"]

3.参数名称: HTTP_COOKIE
样例参考值: ZDEDebuggerPresent=php,phtml,php3
说明: 相当于PHP中的服务器参数: $_SERVER["HTTP_COOKIE"]

4.参数名称: HTTP_FORWARDED
样例参考值: 如果使用代理服务器的话会是代理服务器的IP地址, 本地不容易搭环境测试出值来.
说明: 相当于PHP中的服务器参数: $_SERVER["HTTP_FORWARDED"]

5.参数名称: HTTP_HOST
样例参考值: www.test.com
说明: 相当于PHP中的服务器参数: $_SERVER["HTTP_HOST"]

6.参数名称: HTTP_PROXY_CONNECTION
样例参考值: 网络连接代理方面的信息. 和HTTP_FORWARDED参数一样. 本地不容易搭环境测试出值来.
说明: PHP中貌似未提供这样的服务器信息值. 如果又的话可能等值于: $_SERVER["HTTP_PROXY_CONNECTION"]

7.参数名称: HTTP_ACCEPT
样例参考值: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
说明: 相当于PHP中的服务器参数: $_SERVER["HTTP_ACCEPT"]

第二部分: server internals 部分参数

1.参数名称: DOCUMENT_ROOT
样例参考值: C:/webRoot/t
说明: 相当于PHP中的服务器参数: $_SERVER["DOCUMENT_ROOT"]

2.参数名称: SERVER_ADMIN
样例参考值: youemailaddress@gmail.com
说明: 相当于PHP中的服务器参数: $_SERVER["SERVER_ADMIN"]

3.参数名称: SERVER_NAME
样例参考值: www.test.com
说明: 相当于PHP中的服务器参数: $_SERVER["SERVER_NAME"]

4.参数名称: SERVER_ADDR
样例参考值: 127.0.0.1
说明: 相当于PHP中的服务器参数: $_SERVER["SERVER_ADDR"]

5.参数名称: SERVER_PORT
样例参考值: 80
说明: 相当于PHP中的服务器参数: $_SERVER["SERVER_PORT"]

6.参数名称: SERVER_PROTOCOL
样例参考值: HTTP/1.1
说明: 相当于PHP中的服务器参数: $_SERVER["SERVER_PROTOCOL"]

7.参数名称: SERVER_SOFTWARE
样例参考值: Apache/2.2.11 (Win32) PHP/5.2.9-1
说明: 相当于PHP中的服务器参数: $_SERVER["SERVER_SOFTWARE"]

第三部分: connection & request 部分参数

1.参数名称: REMOTE_ADDR
样例参考值: 127.0.0.1 正在浏览当前页面用户的 IP 地址。
说明: 相当于PHP中的服务器参数: $_SERVER["REMOTE_ADDR"]

2.参数名称: REMOTE_HOST
样例参考值: 127.0.0.1 正在浏览当前页面用户的主机名。反向域名解析基于该用户的 REMOTE_ADDR
说明: 相当于PHP中的服务器参数: $_SERVER["REMOTE_HOST"]

3.参数名称: REMOTE_PORT
样例参考值: 2574 (变化的值)用户连接到服务器时所使用的端口
说明: 相当于PHP中的服务器参数: $_SERVER["REMOTE_PORT"]

4.参数名称: REMOTE_USER
样例参考值: 空
说明: PHP 好像未提供相关的$_SERVER值.

5.参数名称: REMOTE_IDENT
样例参考值: 空
说明: PHP 好像未提供相关的$_SERVER值.

6.参数名称: REQUEST_METHOD
样例参考值: GET
说明: 相当于PHP中的服务器参数: $_SERVER["REQUEST_METHOD"]

7.参数名称: SCRIPT_FILENAME
样例参考值: C:/webRoot/t/share77.html
说明: 相当于PHP中的服务器参数: $_SERVER["SCRIPT_FILENAME"]

8.参数名称: PATH_INFO
样例参考值: 空
说明: 相当于PHP中的服务器参数: $_REQUEST["PATH_INFO"]

9.参数名称: QUERY_STRING
样例参考值: a=b&c=d&e=f
说明: 相当于PHP中的服务器参数: $_SERVER["QUERY_STRING"]

10.参数名称: AUTH_TYPE
样例参考值: 空 当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个是认证的类型
说明: 相当于PHP中的服务器参数: $_SERVER["AUTH_TYPE"]

第四部分: date and time 部分参数

1.参数名称: TIME_YEAR
样例参考值: 2009
说明: 服务器获取当前的年份值

2.参数名称: TIME_MON
样例参考值: 04
说明: 服务器获取当前的月份值

3.参数名称: TIME_DAY
样例参考值: 22
说明: 服务器获取当前的日值

4.参数名称: TIME_HOUR
样例参考值: 16
说明: 服务器获取当前时间的小时

5.参数名称: TIME_MIN
样例参考值: 26
说明: 服务器获取当前时间的分钟

6.参数名称: TIME_SEC
样例参考值: 34
说明: 服务器获取当前时间的秒

7.参数名称: TIME_WDAY
样例参考值: 3
说明: 服务器获取当天是星期几, 从星期日-星期六, 数字从 0-6

8.参数名称: TIME
样例参考值: 20090422162634
说明: 服务器获取当前的时间, 格式为: 年月日时分秒

第五部分: specials 部分参数

1.参数名称: API_VERSION
样例参考值: 20051115:21
说明: apache 的 API 版本信息.

2.参数名称: THE_REQUEST
样例参考值: GET /share77.html HTTP/1.1
说明: 浏览器发给服务器的请求值. 不包括其他的头信息.

3.参数名称: REQUEST_URI
样例参考值: /share77.html
说明: 浏览器请求的资源信息.

4.参数名称: REQUEST_FILENAME
样例参考值: C:/webRoot/t/share77.html
说明: 被请求的资源的在磁盘的物理地址.

5.参数名称: IS_SUBREQ
样例参考值: false
说明: 如果是 sub-request 则显示为 true, 否则为 false.

6.参数名称: HTTPS
样例参考值: off
说明: 如果连接使用 SSL/TLS 模式, 则值为on , 否则值为off, 这个参数比较安全, 即使未载入 mod_ssl 模块时.

相关文章

  • Ubuntu/Linux 有关权限修改的命令解析

    Ubuntu/Linux 有关权限修改的命令解析

    这篇文章主要介绍了Ubuntu/Linux 有关权限修改的命令的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • Linux修改用户所属组的方法

    Linux修改用户所属组的方法

    在本篇文章里小编给大家整理的是关于Linux修改用户所属组的方法,有需要的朋友们参考下。
    2020-02-02
  • Linux多线程中fork与互斥锁过程示例

    Linux多线程中fork与互斥锁过程示例

    大家好,本篇文章主要讲的是Linux多线程中fork与互斥锁过程示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦
    2021-11-11
  • linux使用docker-compose部署软件配置详解

    linux使用docker-compose部署软件配置详解

    这篇文章主要给大家介绍了关于linux使用docker-compose部署软件配置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Ubuntu中静态DNS配置的方法详解

    Ubuntu中静态DNS配置的方法详解

    这篇文章主要给大家介绍了关于Ubuntu中静态DNS配置的相关资料,以及给大家分享了ubuntu中静态dns配置的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-11-11
  • Linux下SFTP用户权限设置条件及实现命令

    Linux下SFTP用户权限设置条件及实现命令

    SFTP账号是基于SSH账号的,其拥有的权限是比较大的,今天主要教大家如何进行SFTP用户权限设置,感兴趣的你可不要错过了哈,希望本文知识可以帮助到你
    2013-02-02
  • Ubuntu 18.04更换apt-get源的方法

    Ubuntu 18.04更换apt-get源的方法

    这篇文章主要介绍了Ubuntu 18.04更换apt-get源的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Apache的压力测试以及web性能优化的常用知识总结

    Apache的压力测试以及web性能优化的常用知识总结

    这篇文章主要介绍了Apache的压力测试以及web性能优化的常用知识总结,笔记由《构建高性能web站点》这本高人气书籍整理而来,需要的朋友可以参考下
    2015-12-12
  • linux服务器系统CentOS、uBuntu、Gentoo、FreeBSD、Debian的比较

    linux服务器系统CentOS、uBuntu、Gentoo、FreeBSD、Debian的比较

    最近一直都是在玩ubuntu的,但是做web服务器的CentOS还是经常被用到,自己也糊涂了
    2012-12-12
  • Ubuntu16.04 安装Teamviewer的教程详解

    Ubuntu16.04 安装Teamviewer的教程详解

    这篇文章主要介绍了Ubuntu16.04 安装Teamviewer教程,Teamviewer在linux下也可以进行安装,下面给出具体的安装步骤,需要的朋友可以参考下
    2018-07-07

最新评论