多个虚拟主机上的WAMP 403

时间:2013-01-18 23:27:35

标签: php apache .htaccess wamp

我有两个文件夹:

c:wamp:www  // My root  
c:wamp:coll // Alternative 

在我的www文件夹中我有.htaccess我的CodeIgniter应用程序,所以我可以有这样的网址site.com/controller/method

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [L]  
RewriteRule ^.*$ index.php [L]

我想在coll中运行协作者应用程序,在www中运行我的ci,这就是我设置httpd.conf

的方式
DocumentRoot "c:/wamp/www/"

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "c:/wamp/www/"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
    <directory "c:/wamp/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
    </directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "c:/wamp/coll/"
    ServerName project.localhost
    <directory "c:/wamp/coll/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
    </directory>
</VirtualHost>

我已将所有必需的模块激活:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule rewrite_module modules/mod_rewrite.so

我的hosts文件如下:

127.0.0.1    localhost
127.0.0.1    project.localhost

错误日志:

[Fri Jan 18 23:30:11 2013] [notice] Apache/2.2.22 (Win64) PHP/5.4.3 configured -- resuming normal operations
[Fri Jan 18 23:30:11 2013] [notice] Server built: May 13 2012 19:41:17
[Fri Jan 18 23:30:11 2013] [notice] Parent: Created child process 1872
[Fri Jan 18 23:30:11 2013] [notice] Child 1872: Child process is running
[Fri Jan 18 23:30:11 2013] [notice] Child 1872: Acquired the start mutex.
[Fri Jan 18 23:30:11 2013] [notice] Child 1872: Starting 64 worker threads.
[Fri Jan 18 23:30:11 2013] [notice] Child 1872: Starting thread to listen on port 80.
[Fri Jan 18 23:30:11 2013] [notice] Child 1872: Starting thread to listen on port 80.
[Fri Jan 18 23:30:15 2013] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Fri Jan 18 23:30:15 2013] [notice] Child 1872: Exit event signaled. Child process is ending.
[Fri Jan 18 23:30:16 2013] [notice] Child 1872: Released the start mutex
[Fri Jan 18 23:30:17 2013] [notice] Child 1872: All worker threads have exited.
[Fri Jan 18 23:30:17 2013] [notice] Child 1872: Child process is exiting
[Fri Jan 18 23:30:17 2013] [notice] Parent: Child process exited successfully.
[Fri Jan 18 23:41:31 2013] [notice] Apache/2.2.22 (Win64) PHP/5.4.3 configured -- resuming normal operations
[Fri Jan 18 23:41:31 2013] [notice] Server built: May 13 2012 19:41:17
[Fri Jan 18 23:41:31 2013] [notice] Parent: Created child process 5380
[Fri Jan 18 23:41:32 2013] [notice] Child 5380: Child process is running
[Fri Jan 18 23:41:32 2013] [notice] Child 5380: Acquired the start mutex.
[Fri Jan 18 23:41:32 2013] [notice] Child 5380: Starting 64 worker threads.
[Fri Jan 18 23:41:32 2013] [notice] Child 5380: Starting thread to listen on port 80.
[Fri Jan 18 23:41:32 2013] [notice] Child 5380: Starting thread to listen on port 80.
[Fri Jan 18 23:41:41 2013] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Fri Jan 18 23:41:41 2013] [notice] Child 5380: Exit event signaled. Child process is ending.
[Fri Jan 18 23:41:42 2013] [notice] Child 5380: Released the start mutex
[Fri Jan 18 23:41:43 2013] [notice] Child 5380: All worker threads have exited.
[Fri Jan 18 23:41:43 2013] [notice] Child 5380: Child process is exiting
[Fri Jan 18 23:41:43 2013] [notice] Parent: Child process exited successfully.
Warning: DocumentRoot [C:/wamp/coll'] does not exist
Warning: DocumentRoot [C:/apache2/docs/dummy-host.example.com] does not exist

2 个答案:

答案 0 :(得分:1)

我不能说我曾经见过虚拟主机在你进入一个共同的网络目录(如www)之前分道扬,,但如果我尝试这个并获得403s,我会看看额外的DocumentRoot在你的文档顶部的“c:/ wamp / www /” - 看起来像是对我的开放基础目录违规。您的apache错误日志应该有更具体的信息,说明它返回403的原因。

如果没有看到错误日志,我会尝试将第一个文档根声明更改为:

DocumentRoot "c:/wamp/"

但就像我说的那样,我不知道你为什么要在www之外托管网页 - 我相信这是出于安全原因。

答案 1 :(得分:0)

对于localhost,无需添加项目。

它应该像这样工作。

# your vhost

<VirtualHost *:80>
    ServerAdmin email@your.vhost.domain
    DocumentRoot "your.vost.doc.root"
    ServerName your.vhost.domain
    ErrorLog "logs/your.vhost.domain.log"
    CustomLog "logs/your.vhost.domain-access.log" common
    <Directory "your.vost.doc.root">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

#
# Localhost
#

<VirtualHost *:80>
    DocumentRoot C:/wamp/www # wamp doc root
    ServerName localhost
</VirtualHost>

* your.vhost.domain必须更改为您自己的。

希望这会对你有所帮助。感谢。