lmhost并在本地测试网站

时间:2012-12-07 02:07:57

标签: web pyrocms

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

cms引擎http://Pyrocms.com有一个多站点管理器,您输入一个域。在浏览器中输入域名,它为存储在中央数据库中的请求站点提供网站。

在线这种方法很好但在本地却没有,我最终不得不输入

localhost/silo1/myclient1/

我希望能够输入

myclient1.test

我想到的第一件事就是 lmhost 文件,但我解释说我无法映射到子目录,只有IP地址。

以下是我尝试在Windows7的主机文件中执行的操作,它没有用,只是在我输入127.0.0.1时指示我mywebsite2.test

主页文件 - AKA 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

  • (Apache with Mod Rewrite on)

2 个答案:

答案 0 :(得分:2)

如果我理解正确,那么你要完成的唯一方法是......

编辑HOSTS文件(不是LMHOSTS)以将伪域名解析为环回地址(127.0.0.1)。

127.0.0.1 myclient1.test
127.0.0.1 myclient2.test

然后使用带有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]

或者如果你想进行完全重定向(而不是内部重定向)......

RewriteRule ^/*(.*)$ http://localhost/silo1/myclient1/$1 [R=301,NC]

答案 1 :(得分:1)

编辑HOST文件。

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>