Apache2.4.7 版本设置虚拟目录怎么总是不成功
2个回答
展开全部
1 启用虚拟主机配置
httpd.conf 文件下 include conf/extra/httpd-vhosts.conf 开启
2 配置 httpd-vhost.conf
//监听端口,NameVirtualHost 如果没有这个,<VirtualHost>标签就没什么作用
NameVirtualHost *:80
<VirtualHost *:80>
ServerName test1.com
DocumentRoot "C:/Users/lixin/Zend/workspaces/DefaultWorkspace/zf/public"
<Directory "C:/Users/lixin/Zend/workspaces/DefaultWorkspace/zf/public">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog "e:/myzflog.txt"
CustomLog "e:/myzflog" common
</VirtualHost>
3 host中添加域名 IP 对应关系(当不同域名对应一个IP的时候可在APACHE中添加多少端口)
httpd.conf是Apache的主要配置文件,但是针对每个目录,apache还允许在它们各自的目录下放置一个叫做.htacess的文件,用于控制这个目录的属性。
通 常利用Apache的rewrite模块对URL进行重写的时候,rewrite规则会写在.htaccess文件里。但要使apache 能够正常的读 取.htaccess 文件的内容,就必须对.htaccess所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成 “None”,不允许任何Override ,即:
< Directory />
AllowOverride None
< /Directory>
在 AllowOverride 设置为 None 时,.htaccess 文件将被完全忽略。当此指令设置为All时,所有具有“.htaccess” 作用域的指令都允许出现在.htaccess 文件中。
而对于 URL rewrite 来说,至少需要把目录设置为
< Directory /blogRoot/>
AllowOverride FileInfo
< /Directory>
AllowOverride 参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略. htacess文件,如果设置为 All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.
1 AuthConfig 允许使用所有的权限指令,他们包括 AuthDBMGroupFile AuthDBMUserFile AuthGroupFile AuthName AuthTypeAuthUserFile 和 Require
2 FileInfo 允许使用文件控制类型的指令。它们包括 AddEncoding AddLanguage AddType DEfaultType ErrorDocument LanguagePriority
3 Indexes 允许使用目录控制类型的指令。它们包 括 AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing HeaderName IndexIgnore IndexOptions ReadmeName
4 Limit 允许使用权限控制指令。它们包括Allow Deny和Order
5 Options 允许使用控制目录特征的指令.他们包括Options 和XBitHack
Options:
1 All 准许以下除MultiViews以外所有功能
2 MultiViews 允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用
3 Indexes 若该目录下无index文件,则准许显示该目录下的文件以供选择,禁止目录浏览可以删这项或“-Indexes”。
例子:
<Directory />
Options -Indexes FollowSymLinks //或者写为“Options FollowSymLinks”
AllowOverride None
Order deny,allow
Deny from all
</Directory>
4 IncludesNOEXEC 准许SSI,但不可使用#exec和#include功能
5 Includes 准许SSI
6 FollowSymLinks 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在<Local>标记内设置,该选项会被忽略
7 SymLinksIfOwnerMatch 在该目录中仅仅跟踪本站点内的链接
8 ExecCGI 在该目录下准许使用CGI
httpd.conf 文件下 include conf/extra/httpd-vhosts.conf 开启
2 配置 httpd-vhost.conf
//监听端口,NameVirtualHost 如果没有这个,<VirtualHost>标签就没什么作用
NameVirtualHost *:80
<VirtualHost *:80>
ServerName test1.com
DocumentRoot "C:/Users/lixin/Zend/workspaces/DefaultWorkspace/zf/public"
<Directory "C:/Users/lixin/Zend/workspaces/DefaultWorkspace/zf/public">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog "e:/myzflog.txt"
CustomLog "e:/myzflog" common
</VirtualHost>
3 host中添加域名 IP 对应关系(当不同域名对应一个IP的时候可在APACHE中添加多少端口)
httpd.conf是Apache的主要配置文件,但是针对每个目录,apache还允许在它们各自的目录下放置一个叫做.htacess的文件,用于控制这个目录的属性。
通 常利用Apache的rewrite模块对URL进行重写的时候,rewrite规则会写在.htaccess文件里。但要使apache 能够正常的读 取.htaccess 文件的内容,就必须对.htaccess所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成 “None”,不允许任何Override ,即:
< Directory />
AllowOverride None
< /Directory>
在 AllowOverride 设置为 None 时,.htaccess 文件将被完全忽略。当此指令设置为All时,所有具有“.htaccess” 作用域的指令都允许出现在.htaccess 文件中。
而对于 URL rewrite 来说,至少需要把目录设置为
< Directory /blogRoot/>
AllowOverride FileInfo
< /Directory>
AllowOverride 参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略. htacess文件,如果设置为 All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.
1 AuthConfig 允许使用所有的权限指令,他们包括 AuthDBMGroupFile AuthDBMUserFile AuthGroupFile AuthName AuthTypeAuthUserFile 和 Require
2 FileInfo 允许使用文件控制类型的指令。它们包括 AddEncoding AddLanguage AddType DEfaultType ErrorDocument LanguagePriority
3 Indexes 允许使用目录控制类型的指令。它们包 括 AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing HeaderName IndexIgnore IndexOptions ReadmeName
4 Limit 允许使用权限控制指令。它们包括Allow Deny和Order
5 Options 允许使用控制目录特征的指令.他们包括Options 和XBitHack
Options:
1 All 准许以下除MultiViews以外所有功能
2 MultiViews 允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用
3 Indexes 若该目录下无index文件,则准许显示该目录下的文件以供选择,禁止目录浏览可以删这项或“-Indexes”。
例子:
<Directory />
Options -Indexes FollowSymLinks //或者写为“Options FollowSymLinks”
AllowOverride None
Order deny,allow
Deny from all
</Directory>
4 IncludesNOEXEC 准许SSI,但不可使用#exec和#include功能
5 Includes 准许SSI
6 FollowSymLinks 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在<Local>标记内设置,该选项会被忽略
7 SymLinksIfOwnerMatch 在该目录中仅仅跟踪本站点内的链接
8 ExecCGI 在该目录下准许使用CGI
展开全部
【实例】Alias /dx "D:/MyServer/Apache2.2.9/htdocs/dx"
<Directory "D:/MyServer/Apache2.2.9/htdocs/dx">
Options Indexes MultiViews
AllowOverride None
order allow,deny
Allow from all
</Directory>
<Directory "D:/MyServer/Apache2.2.9/htdocs/dx">
Options Indexes MultiViews
AllowOverride None
order allow,deny
Allow from all
</Directory>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询