Configuring Apache vhost: sites having inner sites. possible?
i am wondering if i am doing some thing wrong
i have http://localhost pointing to the directory D:\Projects\Websites
then i want to create a inner site http://learningzf in D:\Projects\Websites\php\ZendFramework\LearningZF\public. this is so that i can use URL's like /users/login instead of specifying the full url
i find that if i add the entry in vhosts to point http://learningzf to D:\Projects\Websites\php\ZendFramework\LearningZF\public, localhost will also point to D:\Projects\Websites\php\ZendFramework\LearningZF\public
<VirtualHost *:80>
    DocumentRoot "D:/Projects/Websites/php/ZendFramework/LearningZF/public"
    ServerName localhost
</VirtualHost>
<Directory "D:/Projects/Websites/php/ZendFramework/LearningZF/public">
    AllowOverride All
    Options All
    Order allow,deny
    Allow from 127.0.0.1
</Directory>
<VirtualHost *:80>
    DocumentRoot "D:/Projects/Websites"
    ServerName localhost
</VirtualHost>
<Directory "D:/Projects/Websites">
    AllowOverride All
    Options All
    Order allow,deny
    Allow from 127.0.0.1
</Directory>
i noticed if i move the entries for learningzf below localhost, both learningzf &localhost will point to D:/Projects/Websites
UPDATE
following @KikoV answer, i have modified it to make it work ...
NameVirtualHost 127.0.0.1:80
<VirtualHost localhost:80>
  ServerName localhost
  DocumentRoot "D:/Projects/Websites"
  <Directory "D:/Projects/Websites">
    AllowOverride All
    Options All
    Order allow,deny
    Allow from 127.0.0.1
  </Directory>
 </VirtualHost>
<VirtualHost learningzf:80>
  ServerName learningzf
  DocumentRoot "D:/Projects/Websites/php/ZendFramework/LearningZF/public"
  <Directory "D:/Projects/Websites/php/ZendFramework/LearningZF/public">
    AllowOverride All
    Options All
    Order allow,deny
    Allow from 127.0.0开发者_如何学C.1
  </Directory>
</VirtualHost>
You should use NameVirtualHost directive. If host "learningzf" is pointing to localhost, (127.0.0.1), you could use:
Note: In _default _ , last underscore should go togheter.
   NameVirtualHost 127.0.0.1:80
     <VirtualHost _default _:80>
       ServerName localhost
        <Directory "D:/Projects/Websites">
          AllowOverride All
          Options All
          Order allow,deny
          Allow from 127.0.0.1
        </Directory>
     </VirtualHost>
    <VirtualHost learningzf:80>
       ServerName learningzf
        <Directory D:/Projects/Websites/php/ZendFramework/LearningZF/public">
          AllowOverride All
          Options All
          Order allow,deny
          Allow from 127.0.0.1
        </Directory>
     </VirtualHost>
This way you could access to http://localhost and http://learningzf and Apache will know which should use. (By default, it will go to D:/Projects/Websites).
Note2: remember to add "127.0.0.1 learningzf" line to c:/windows/system32/drivers/etc/hosts file in order to get hostname resolved.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论