Windows虚拟目录配置帮助上的apache
Posted
技术标签:
【中文标题】Windows虚拟目录配置帮助上的apache【英文标题】:apache on windows virtual directory config help 【发布时间】:2010-09-21 02:59:30 【问题描述】:我正在通过 Xampplite 在 Windows XP 上运行 Apache,并且可以使用帮助配置我的虚拟目录。这是我希望在我的开发盒上做的事情:
-
我希望我的源文件位于 xampp htdocs 目录之外
在我的本地机器上,我可以通过http://myproject 访问该项目
我本地网络上的其他人可以通过 my.ip.address/myproject 访问该项目
保持 localhost 指向 xampp 的 htdocs 文件夹,以便我可以轻松添加其他项目。
我有 1 和 2 通过编辑 windows 主机文件,并在 xampp 的 apache\conf\extra\httpd-vhosts.conf 文件中添加一个虚拟目录来工作。我不会立即明白如何在不搞砸 4 的情况下完成 3。
【问题讨论】:
【参考方案1】:想通了:#3 使用 Alias,而不是 VirtualHost,因此:
Alias /myproject "C:/path/to/my/project"
<Directory "C:/path/to/my/project">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
【讨论】:
对于任何不确定的人,这可以直接在默认站点根目录的httpd.conf
文件中的<Directory "D:/XAMPP/htdocs">...stuff...</Direcory>
之后进行。完美地为我工作。并且不要忘记重新启动 Apache【参考方案2】:
完成您的需求清单。
1) 制作目录:
mkdir c:\xampp\sites\myproject
2) 编辑 c:\windows\system32\drivers\etc\hosts 使其包含这一行:
127.0.0.1 我的项目
并将以下内容添加到 c:\xampp\apache\conf\extra\httpd-vhosts.conf:
NameVirtualHost myproject:80 <VirtualHost myproject:80> DocumentRoot c:/xampp/sites/myproject Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>
3) 将以下行添加到 c:\xampp\apache\conf\httpd.conf 的末尾:
Alias /myproject/ "/xampp/sites/myproject/" <Directory "/xampp/sites/myproject"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
4) 将 DocumentRoot、Directory 等留在 c:\xampp\apache\conf\httpd.conf 中单独完成此操作。作为参考,这些行将是:
DocumentRoot "/xampp/htdocs" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> <Directory "/xampp/htdocs"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>
【讨论】:
【参考方案3】:首先启用:LoadModule alias_module modules/mod_alias.so
<IfModule alias_module>
Alias /ddd "D:/prj/customer/www"
<Directory "D:/prj/customer/www">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</IfModule>
在 WAMP 2.2 上测试及其工作:http://localhost/ddd
【讨论】:
【参考方案4】:在 httpd.conf 中添加以下行,比照:
<IfModule alias_module>
Alias /angular-phonecat "C:/DEV/git-workspace/angular-phonecat"
</IfModule>
<Directory "C:/DEV/git-workspace/angular-phonecat">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
Order allow,deny
Allow from all
Require all granted
</Directory>
重新启动 Apache 服务器后,这对我的 (Windows) XAMPP 安装非常有效。我必须添加“要求全部授予”,否则它与上述答案几乎相同。
【讨论】:
【参考方案5】:名称VirtualHost myproject:80 目录>
必须是:
名称VirtualHost myproject:80
问候 ;)
【讨论】:
【参考方案6】:解决了这个问题。它缺少目录标签。
NameVirtualHost myproject:80
<VirtualHost myproject:80>
DocumentRoot "D:/Solution"
<Directory "D:/Solution">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
【讨论】:
【参考方案7】:以最简单的方式和更少的步骤解决问题 无需创建虚拟主机,只需更改目标目录的位置即可。
这是我为配置所做的: 我已经通过编辑 C:/xampp/apache/conf/httpd.conf 文件来完成它 我在 httpd.conf 文件中所做的更改 之后立即添加此脚本 ScriptAlias /cgi-bin/ "C:/xampp/apache)/"
别名 /projectXYZ "C:/pathtomyproject" 选项索引 FollowSymLinks MultiViews ExecCGI 允许覆盖所有 命令允许,拒绝 全部允许
Pathtomyproject = 项目的完整路径
并更改了 Document Root 的 url DocumentRoot "C:/pathtomyproject"
现在通过停止服务器重新启动 Apache 服务器。 我已经停止了 Apache 服务器,然后再次启动了 Apache 服务器。
来源:http://bytespedia.blogspot.com/2013/12/creating-virtual-directory-in-apache.html
【讨论】:
请注意 link-only answers 是不鼓励的,所以答案应该是寻找解决方案的终点(而不是另一个参考中途停留,随着时间的推移往往会变得陈旧)。请考虑在此处添加独立的概要,并保留链接作为参考。 因为我无法附上图片,所以我添加了完整描述的链接。 @kleopatra 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。 @Almo 我已经编辑了我的评论并添加了解决方案/链接的重要部分。以上是关于Windows虚拟目录配置帮助上的apache的主要内容,如果未能解决你的问题,请参考以下文章