Windows 上的 apache 虚拟目录配置帮助
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/269326/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
apache on windows virtual directory config help
提问by sprugman
I'm running Apache on Windows XP via Xampplite, and could use help configuring my virtual directory. Here's what I'm hoping to do on my dev box:
我正在通过 Xampplite 在 Windows XP 上运行 Apache,并且可以使用帮助配置我的虚拟目录。这是我希望在我的开发箱上做的事情:
- I want my source files to live outside of the xampp htdocs dir
- on my local machine I can access the project at http://myproject
- others on my local network can access the project at my.ip.address/myproject
- keep localhost pointing to the xampp's htdocs folder so I can easily add other projects.
- 我希望我的源文件位于 xampp htdocs 目录之外
- 在我的本地机器上,我可以通过http://myproject访问该项目
- 我本地网络上的其他人可以通过 my.ip.address/myproject 访问该项目
- 保持 localhost 指向 xampp 的 htdocs 文件夹,以便我可以轻松添加其他项目。
I've got 1 & 2 working by editing the windows hosts file, and adding a virtual directory in xampp's apache\conf\extra\httpd-vhosts.conf file. I don't immediately see how to do 3 without messing up 4.
我通过编辑 Windows 主机文件并在 xampp 的 apache\conf\extra\httpd-vhosts.conf 文件中添加一个虚拟目录来使 1 和 2 工作。我不会立即看到如何在不弄乱 4 的情况下做 3。
回答by sprugman
Figured it out: use Aliasfor #3, instead of VirtualHost, thus:
想通了:#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>
回答by jeremyasnyder
To accomplish your list of needs.
完成您的需求清单。
1) Make the directory:
1)制作目录:
mkdir c:\xampp\sites\myproject
mkdir c:\xampp\sites\myproject
2) Edit c:\windows\system32\drivers\etc\hosts so it contains this line:
2) 编辑 c:\windows\system32\drivers\etc\hosts 使其包含以下行:
127.0.0.1 myproject
127.0.0.1 我的项目
and add the following to c:\xampp\apache\conf\extra\httpd-vhosts.conf:
并将以下内容添加到 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>
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) Add the following lines to the end of c:\xampp\apache\conf\httpd.conf:
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>
Alias /myproject/ "/xampp/sites/myproject/" <Directory "/xampp/sites/myproject"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
4) Leave DocumentRoot, Directory, etc in c:\xampp\apache\conf\httpd.conf alone to accomplish this. For reference these lines would be:
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>
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>
回答by Stefan Michev
First enable: LoadModule alias_module modules/mod_alias.so
首先启用: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>
Tested on WAMP 2.2 and its working: http:// localhost/ddd
在 WAMP 2.2 上测试及其工作:http://localhost/ddd
回答by 4pi
In httpd.conf add the following lines, mutatis mutandis:
在 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>
This worked great on my (Windows) XAMPP installation after restarting the Apache server. I had to add the "Require all granted", but otherwise it is pretty much the same as the above answers.
重新启动 Apache 服务器后,这在我的 (Windows) XAMPP 安装上效果很好。我不得不添加“要求全部授予”,但除此之外它与上述答案几乎相同。
回答by 4pi
NameVirtualHost myproject:80 < VirtualHost myproject:80 >
< /Directory >
名称VirtualHost myproject:80 < VirtualHost myproject:80 >
</Directory >
Must be:
必须是:
NameVirtualHost myproject:80 < VirtualHost myproject:80 >
< /VirtualHost >
NameVirtualHost myproject:80 < VirtualHost myproject:80 >
< /VirtualHost >
greets ;)
问候 ;)
回答by Nilanjan
resolved the issue. it was missing the directory tag.
解决了这个问题。它缺少目录标签。
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>
回答by Shaikh Salman
Problem resolved in a simplest way and less steps No Need of creating virtual host just change the location of target directory.
以最简单的方法和更少的步骤解决问题 无需创建虚拟主机,只需更改目标目录的位置。
Here's what i have done for configuration: I've done it by editing the C:/xampp/apache/conf/httpd.conf file Changings that I have done in httpd.conf file Added this script right after ScriptAlias /cgi-bin/ "C:/xampp/apache)/"
这是我为配置所做的工作:我通过编辑 C:/xampp/apache/conf/httpd.conf 文件完成了我在 httpd.conf 文件中所做的更改在 ScriptAlias /cgi-bin/ 之后添加了这个脚本"C:/xampp/apache)/"
Alias /projectXYZ "C:/pathtomyproject" Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride All Order allow,deny Allow from all
Alias /projectXYZ "C:/pathtomyproject" Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride All Order allow,deny Allow from all
Pathtomyproject = Complete path of project
Pathtomyproject = 项目的完整路径
And changed the url of Document Root DocumentRoot " C:/pathtomyproject "
并更改了 Document Root DocumentRoot 的 url " C:/pathtomyproject "
Now restart the Apache Server by stopping the server. I have stopped Apache server, and then again started the Apache Server.
现在通过停止服务器重新启动 Apache 服务器。我已经停止了 Apache 服务器,然后再次启动了 Apache 服务器。
Source: http://bytespedia.blogspot.com/2013/12/creating-virtual-directory-in-apache.html
来源:http: //bytespedia.blogspot.com/2013/12/creating-virtual-directory-in-apache.html