2011-06-18 27 views
1

其实我在c:/ wamp/www路径中有一个网站。多个'www'文件夹加上wamp

但现在我想管理一堆网站,我可以在www中创建文件系统层次结构,并为每个网站创建一个文件夹。但问题是“DOCUMENT_ROOT”变量总是指C:/ WAMP/WWW

SCRIPT_FILENAME : c:/wamp/www/website1/index.php 
DOCUMENT_ROOT : c:/wamp/www 
while I'd like : c:/wamp/www/website1 

我可以在WAMP文件夹中创建一个文件夹,在浏览器中键入其URI时,请参考呢?

例如

http://localhost/ -> c:/wamp/www/index.html 
http://website1/ -> c:/wamp/www/website1/index.php 

THKS

回答

1

您需要使用多个VirtualHost S(一个为每个主机名),并在他们每个人使用不同的文档根目录。

更多详情,请访问:http://httpd.apache.org/docs/2.2/vhosts/name-based.html

+0

@Bruno谢谢您的回答,我在一些麻烦,我定义我的虚拟主机写在链接。当我重新启动wamp时,它似乎不起作用,甚至localhost也不成立。你有想法吗? – user544262772

+1

它也可能取决于DNS条目。您尝试使用的主机名称(在'http:// website1.example /'中说'website1.example')需要指向您的机器(假设您只是从您的机器机)。如果仅用于本地测试,则应该可以编辑[主机文件](http://en.wikipedia.org/wiki/Hosts_%28file%29);如果你想让其他机器可以访问它,你需要确保DNS入口指向你的机器(公开可见的)IP地址。 – Bruno

+0

我用正确的语法更改了我的主机文件。似乎错误来自httpd.conf,如果我定义一个具有特定标记的新虚拟主机并保存文件,在重新启动时我无法访问任何地址(localhost,website1.example,...)我读了apache的支持,但是现在我不确定在哪里放置'' – user544262772

1

我经常为我的项目创建多个虚拟主机: 以下行添加到C:\ WAMP \ BIN \ apache的\ apache2.2.22 \的conf \ httpd.conf中

Listen 9191 
NameVirtualHost *:9191 

<VirtualHost *:9191> 
    ServerName web1.local 
    DocumentRoot "D:\VanCK\Projects\Web1\trunk\public_html" 
    <Directory "D:\VanCK\Projects\Web1\trunk\public_html"> 
     AllowOverride All 
     Order Allow,Deny 
     Allow From all 
    </Directory> 
</VirtualHost> 

Listen 9292 
NameVirtualHost *:9292 

<VirtualHost *:9292> 
    ServerName web2.local 
    DocumentRoot "D:\VanCK\Projects\Web2\trunk\public_html" 
    <Directory "D:\VanCK\Projects\Web2\trunk\public_html"> 
     AllowOverride All 
     Order Allow,Deny 
     Allow From all 
    </Directory> 
</VirtualHost> 

以下行添加到C:\ WINDOWS \ SYSTEM32 \ DRIVERS \等\主机

127.0.0.1 web1.local

127.0.0.1 web2.local

使rewrite_module(点击WAMP图标>的Apache> Apache模块>检查rewrite_module) 重启所有服务

=>http://web1.local:9191/http://web2.local:9292/

0

你需要添加

选项指标的FollowSymLinks

后:

的AllowOverride所有

订购允许,拒绝

允许所有

相关问题