Windows – 在虚拟主机中创建别名目录

前端之家收集整理的这篇文章主要介绍了Windows – 在虚拟主机中创建别名目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在查询 here,here,here,herehere之前,先询问这个问题.我猜我的搜索技能很弱.

我使用的是WampServer版本2.2e.我有需要,我需要一个虚拟主机内的虚拟路径.让我说两个主人,我有.

主虚拟主机(Localhost)

  1. NameVirtualHost *:80
  2.  
  3. <VirtualHost *:80>
  4. ServerName localhost
  5. DocumentRoot "C:/Wamp/www"
  6. </VirtualHost>

我的Apps虚拟主机

  1. <VirtualHost *:80>
  2. ServerName apps.ptrl
  3. DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
  4. ErrorLog "logs/apps-ptrl-error.log"
  5. CustomLog "logs/apps-ptrl-access.log" common
  6. <Directory "C:/Wamp/vhosts/ptrl/apps">
  7. allow from all
  8. order allow,deny
  9. AllowOverride All
  10. </Directory>
  11. DirectoryIndex index.html index.htm index.PHP
  12. </VirtualHost>

我的博客虚拟主机

  1. <VirtualHost *:80>
  2. ServerName blog.praveen-kumar.ptrl
  3. DocumentRoot "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
  4. ErrorLog "logs/praveen-kumar-ptrl-error.log"
  5. CustomLog "logs/praveen-kumar-ptrl-access.log" common
  6. <Directory "C:/Wamp/vhosts/ptrl/praveen-kumar/blog">
  7. allow from all
  8. order allow,deny
  9. AllowOverride All
  10. </Directory>
  11. DirectoryIndex index.html index.htm index.PHP
  12. </VirtualHost>

我现在的要求是让http://apps.ptrl/blog/和http://blog.praveen-kumar.ptrl/应该是同一个目录.我想到的一件事是将应用文件夹中的博客文件夹移动,但是它与Git和其他东西连接在一起,因此不可能移动文件夹.

所以,我想通过这种方式创建VirtualHost的别名:

  1. <VirtualHost *:80>
  2. ServerName apps.ptrl
  3. DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
  4. ErrorLog "logs/apps-ptrl-error.log"
  5. CustomLog "logs/apps-ptrl-access.log" common
  6. <Directory "C:/Wamp/vhosts/ptrl/apps">
  7. allow from all
  8. order allow,deny
  9. AllowOverride All
  10. </Directory>
  11. DirectoryIndex index.html index.htm index.PHP
  12.  
  13. # The alias to the blog!
  14. Alias /blog "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
  15. <Directory "C:/Wamp/vhosts/ptrl/praveen-kumar/blog">
  16. allow from all
  17. order allow,deny
  18. AllowOverride All
  19. </Directory>
  20. </VirtualHost>

但是当我尝试访问http://apps.ptrl/blog时,我收到一个错误403禁止页面.

我做正确的事吗?如果您需要查看访问日志和错误日志,那么它们在这里:

  1. # Access Log
  2. 127.0.0.1 - - [14/Oct/2012:09:53:11 +0530] "GET /blog HTTP/1.1" 403 206
  3. 127.0.0.1 - - [14/Oct/2012:09:53:11 +0530] "GET /favicon.ico HTTP/1.1" 404 209
  4. 127.0.0.1 - - [14/Oct/2012:09:53:53 +0530] "GET / HTTP/1.1" 200 6935
  5. 127.0.0.1 - - [14/Oct/2012:09:53:53 +0530] "GET /app/blog/thumb.png HTTP/1.1" 404 216
  6. # Error Log
  7. [Sun Oct 14 09:53:11 2012] [error] [client 127.0.0.1] client denied by server configuration: C:/Wamp/vhosts/ptrl/praveen-kumar/blog
  8. [Sun Oct 14 09:53:11 2012] [error] [client 127.0.0.1] File does not exist: C:/Wamp/vhosts/ptrl/apps/favicon.ico
  9. [Sun Oct 14 09:53:53 2012] [error] [client 127.0.0.1] File does not exist: C:/Wamp/vhosts/ptrl/apps/app/blog,referer: http://apps.ptrl/

等待着一些帮助.如果需要,我准备提供更多的信息.

更新#1:根据felipsmartins给出的说明更改了VirtualHosts声明:

  1. <VirtualHost *:80>
  2. ServerName apps.ptrl
  3. DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
  4. ErrorLog "logs/apps-ptrl-error.log"
  5. CustomLog "logs/apps-ptrl-access.log" common
  6. # The alias to the blog!
  7. Alias /blog "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
  8. <Directory "C:/Wamp/vhosts/ptrl/praveen-kumar/blog">
  9. allow from all
  10. order allow,deny
  11. AllowOverride All
  12. </Directory>
  13. <Directory "C:/Wamp/vhosts/ptrl/apps">
  14. allow from all
  15. order allow,deny
  16. AllowOverride All
  17. </Directory>
  18. DirectoryIndex index.html index.htm index.PHP
  19. </VirtualHost>

更新#2:另一个问题:

我可以访问该网站.物理链接现在正在工作.即,我可以打开http://apps.ptrl/blog/index.PHP,但不能http://apps.ptrl/blog/view-1.ptf,它被转换为http://apps.ptrl/ ?博客/ index.PHP页面=视图和ID = 1.任何解决方案?

请注意,如果要在 DocumentRoot之外的目录中创建 Alias,则可能需要明确允许访问目标目录:
  1. <VirtualHost *:80>
  2. ServerName apps.ptrl
  3. DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
  4. ErrorLog "logs/apps-ptrl-error.log"
  5. CustomLog "logs/apps-ptrl-access.log" common
  6.  
  7. # Puts here,before Directory directive :)
  8. Alias /blog "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
  9.  
  10. <Directory "C:/Wamp/vhosts/ptrl/apps">
  11. allow from all
  12. order allow,deny
  13. AllowOverride All
  14. </Directory>
  15. </VirtualHost>

还要注意,即使对不区分大小写的文件系统,URL路径(第一个别名部分)也是区分大小写的.

另外,从C:/ Wamp / vhosts / ptrl / praveen-kumar / blog目录检查权限.

参考

> Apache Module mod_alias
> Apache Virtual Host

猜你在找的Windows相关文章