(1)虚拟主机
VirtualHost:你可以通过设置虚拟主机容器以实现在你的主机上包含的多个域名或主机名
(1)/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:8080> DocumentRoot /var/www/myprojects 文档的根目录,默认情况下所有请求从这个目录进行应答,但是可以使用符号链接 Alias /dev /var/www/dev 别名 <Directory /var/www/myprojects >配置文件系统的访问权限 </Directory> </VirtualHost>(2) /etc/apache2/ports.conf 监听改端口
添加Listen 8080
(2)Directory中的选项
Options
All 除MultiViews之外的所有特性。
None 不启用任何服务器特性
FollowSymLinks 允许在此目录使用符号链接
Indexes 如果输入的网址对应服务器上的一个文件目录,而此目录中没有DirectoryIndex指令,
那么服务器将返回由mod_autoindex模块生成的一个格式化后的目录列表,并列出目录下的
所有文件。
SymLinksIfOwnerMatch
ExecCGI
Includes
IncludesNOEXEC
MultiViews 客户端请求的路径如果对应多种类型的文件,服务器根据客户端的请求选择最合适的文件类型。详情参考2.1
AllowOverride
All 允许读取.htaccess文件对URL进行重定向
None 不允许读取.htaccess文件
AuthConfig 允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile,
AuthName, AuthType, AuthUserFile, Require, 等)。
FileInfo 允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType,
LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的
Add* 和 Remove* 指令等等)、控制文档元数据的指令(Header, RequestHeader,
SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle,
CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions,
RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。
Indexes 允许使用控制目录索引的指令(AddDescription, AddIcon, AddIconByEncoding,
AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName,
IndexIgnore, IndexOptions, ReadmeName, 等)。
Limit 允许使用控制主机访问的指令(Allow, Deny, Order)。
Options[=Option,...] 允许使用控制指定目录功能的指令(Options和XBitHack)。
可以在等号后面附加一个逗号分隔的(无空格的)Options选项列表,用来控制允许Options指令使用哪些选项。
Order (2.4使用require)
有三条语句
Order deny,allow 或者Order allow,deny 前者允许所有ip访问,后者禁止所有ip访问;
网上说这条规则还控制先判断deny语句还是allow语句,什么什么的,
测试了下都不靠谱,有空看官方文档吧
deny from ip
allow from ip
(下面几种写法亲测是正确的)
例子
禁止某些ip
Order allow,deny
deny from ip
允许某些ip
Order deny,allowallow from ip
Require
拒绝所有
Require all denied
允许所有
Require all granted
允许本机
Require local
允许某域
Require host baidu.com至于怎样仅允许或禁止某ip访问,没看到官网上有说明,网上说的也都不负责(都他妈在扯淡)
DirectoryIndex default.html default.php
指定默认访问那个文件
(4)典型配置
<VirtualHost *8080> Alias /dev /var/www/dev <Directory /var/www/dev > Require all granted DirectoryIndex default.phpAllowOverride All Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>