apache on windows virtual directory config help

时间:2008-11-06 16:29:05

标签: windows apache configuration virtual-hosts

我通过Xampplite在Windows XP上运行Apache,并且可以使用帮助配置我的虚拟目录。这是我希望在我的开发箱上做的事情:

  1. 我希望我的源文件位于xampp htdocs dir
  2. 之外
  3. 在我的本地计算机上,我可以通过http://myproject
  4. 访问该项目
  5. 我本地网络上的其他人可以通过my.ip.address / myproject
  6. 访问该项目
  7. 让localhost指向xampp的htdocs文件夹,以便我可以轻松添加其他项目。
  8. 我有1& 2通过编辑windows hosts文件,并在xampp的apache \ conf \ extra \ httpd-vhosts.conf文件中添加一个虚拟目录。我没有立即看到如何做3而不搞乱4。

7 个答案:

答案 0 :(得分:29)

想出来:使用 Alias 代替#3,而不是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>

答案 1 :(得分:10)

完成您的需求清单。

1)制作目录:

  

mkdir c:\ xampp \ sites \ myproject

2)编辑c:\ windows \ system32 \ drivers \ etc \ hosts,使其包含以下行:

  

127.0.0.1 myproject的

并将以下内容添加到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>

答案 2 :(得分:2)

首先启用: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

答案 3 :(得分:1)

在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安装上运行良好。我不得不添加“要求全部授予”,否则它与上述答案几乎相同。

答案 4 :(得分:0)

  

NameVirtualHost myproject:80     &LT; VirtualHost myproject:80&gt;
  &LT; /目录&gt;

必须:

  

NameVirtualHost myproject:80     &LT; VirtualHost myproject:80&gt;
  的&LT; / VirtualHost&gt;

迎接;)

答案 5 :(得分:0)

解决了这个问题。它缺少目录标签。

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>

答案 6 :(得分:-1)

以最简单的方式解决问题,减少步骤 无需创建虚拟主机只需更改目标目录的位置。

以下是我为配置所做的事情: 我是通过编辑C:/xampp/apache/conf/httpd.conf文件完成的 我在httpd.conf文件中做过的Changings 之后添加了此脚本 ScriptAlias / cgi-bin /“C:/ xampp / apache)/”

Alias / projectXYZ“C:/ pathtomyproject”   选项索引FollowSymLinks MultiViews ExecCGI   AllowOverride All   订单允许,拒绝   允许所有

Pathtomyproject =项目的完整路径

并更改了Document Root的URL DocumentRoot“C:/ pathtomyproject”

现在通过停止服务器重新启动Apache服务器。 我已停止Apache服务器,然后再次启动Apache服务器。

来源:http://bytespedia.blogspot.com/2013/12/creating-virtual-directory-in-apache.html