Web 本地托管和测试网站

Web 本地托管和测试网站,web,pyrocms,Web,Pyrocms,我必须管理几个网站。对于测试,我有一个本地(localhost)副本和一个在线副本 cms引擎有一个多站点管理器,您可以输入一个域。在浏览器中输入域名,它为存储在中央数据库中的请求站点的网站提供服务 在线这很好,但在本地却不行,我最后不得不打字 localhost/silo1/myclient1/ 我想能够打字 myclient1.test 我想到的第一件事是lmhost文件,但我不能映射到子目录,只能映射到IP地址 下面是我在Windows7中尝试在主机文件中执行的操作,它不起作用,当我进

我必须管理几个网站。对于测试,我有一个本地(
localhost
)副本和一个在线副本

cms引擎有一个多站点管理器,您可以输入一个域。在浏览器中输入域名,它为存储在中央数据库中的请求站点的网站提供服务

在线这很好,但在本地却不行,我最后不得不打字

localhost/silo1/myclient1/
我想能够打字

myclient1.test
我想到的第一件事是lmhost文件,但我不能映射到子目录,只能映射到IP地址

下面是我在Windows7中尝试在主机文件中执行的操作,它不起作用,当我进入
mywebsite2.test
时,它只是将我指向
127.0.0.1

主机文件-又称LMHOST

File stored @ #C:\Windows\System32\drivers\etc
lmhost/host file
127.0.0.1                   mywebsite1.test
127.0.0.1/mywebsite2/       mywebsite2.test  **#I want to do something like this**
技术:

  • 操作系统:Windows7服务器:WAMP 2

  • (打开Mod Rewrite的Apache)


    • 如果我理解正确,你要做到这一点的唯一方法就是

      编辑主机文件(不是LMHOSTS)以将假域名解析为环回地址(127.0.0.1)

      然后使用带有mod_rewrite条件和规则的.htaccess文件来匹配主机头(针对每个不同的网站),并在内部将请求重写到适当的子文件夹/子url

      RewriteCond %{HTTP_HOST} ^myclient1\.test$ [NC]
      RewriteRule ^/*(.*)$ http://localhost/silo1/myclient1/$1 [NC]
      
      RewriteCond %{HTTP_HOST} ^myclient2\.test$ [NC]
      RewriteRule ^/*(.*)$ http://localhost/silo2/myclient2/$1 [NC]
      
      或者,如果您想执行完全重定向(而不是内部重定向)


      编辑宿主文件

      127.0.0.1 myclient1.test
      127.0.0.1 myclient2.test
      
      在httpd.conf文件中,我添加了

      NameVirtualHost *:80
      
      <VirtualHost *:80>
         ServerName myclient1.test
         DocumentRoot C:\wamp\www\silo1\myclient1\
      </VirtualHost>
      
      <VirtualHost *:80>
         ServerName myclient2.test
         DocumentRoot C:\wamp\www\silo1\myclient2\
      </VirtualHost>
      
      NameVirtualHost*:80
      ServerName myclient1.test
      DocumentRoot C:\wamp\www\silo1\myclient1\
      ServerName myclient2.test
      DocumentRoot C:\wamp\www\silo1\myclient2\
      
      -我尝试了你的解决方案,它也起了作用,我给了你荣誉,但也看到了我的解决方案。@IEnumerable,我的错,我最初阅读它的方式是需要通过“localhost”VH或URL。如果没有这一点,对每个域名使用单独的VH也同样有效。
      127.0.0.1 myclient1.test
      127.0.0.1 myclient2.test
      
      NameVirtualHost *:80
      
      <VirtualHost *:80>
         ServerName myclient1.test
         DocumentRoot C:\wamp\www\silo1\myclient1\
      </VirtualHost>
      
      <VirtualHost *:80>
         ServerName myclient2.test
         DocumentRoot C:\wamp\www\silo1\myclient2\
      </VirtualHost>