当前位置: 移动技术网 > 网络运营>服务器>Linux > Apache中Virtual Host虚拟主机配置及rewrite参数说明

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

2019年04月30日  | 移动技术网网络运营  | 我要评论
virtual host配置过程 这里例子中我们的路径为这样 documentroot: /home/jb51 /sites/demo.jb51.net server

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.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 模块时.

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网