如何展示"您的虚拟主机"在wamp 2.5主页中列出

时间:2014-06-25 02:20:02

标签: php apache wamp

有很多指示要更改哪些设置以显示wamp主页中的虚拟主机列表,但是在检查C:// wamp / www中的index.php时,此处似乎没有代码显示虚拟主持人无论其他地方的设置如何。所以,我在自己添加了一些代码来显示这个列表,并认为它可以帮助其他想要做同样事情的人。

这要求您的httpd-vhosts.conf文件包含以下条目

<VirtualHost *:80>
     DocumentRoot "C:/wamp/www/website_folder_name"
     ServerName Website_Name         #<----------This is the what index.php uses
     <Directory  "C:/wamp/www/website_folder_name">
          AllowOverride All
          Require local
     </Directory>
</VirtualHost>

现在,在C://wamp/www/index.php中进行以下更改:

在这一行之后(第65行)$ wampserverVersion = str_replace('“','',$ result [1]);

添加:

$wampVHostsFile = $server_dir.'bin/apache/apache2.4.9/conf/extra/httpd-vhosts.conf';
if (!is_file($wampVHostsFile))
     die ('Unable to open Virtual Hosts file, please change path in index.php file');
$fp = fopen($wampVHostsFile,'r');
$wampVHostsFileContents = fread ($fp, filesize ($wampVHostsFile));
fclose ($fp);

$vHosts = "";
$result = array(1=>array(1=>786));
while(! empty($result)) {
     preg_match('|ServerName (.*)|',$wampVHostsFileContents,$result, PREG_OFFSET_CAPTURE, $result[1][1]);
     array_key_exists(1, $result) ? $vHosts .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$result[1][0].'">'.$result[1][0].'</a></li>' : null;
}

if (empty($vHosts))
     $vHosts = "<li>No Virtual Hosts</li>\n";;

然后滚动到文件的底部并编辑包含html的$ pageContents。我决定不想要别名列表,所以请注释掉这段代码:

<div class="third right">
     <h2>{$langues[$langue]['txtAlias']}</h2>
     <ul class="aliases">
          ${aliasContents}          
     </ul>
</div>

并替换为此代码:

<div class="third right">
     <h2>Your Virtual Hosts</h2>
     <ul class="aliases">
          ${vHosts}
     </ul>
</div>

1 个答案:

答案 0 :(得分:0)

如何启用WAMPServer2.5 我的虚拟主机菜单?

  • 备份\ wamp \ wampmanager.tpl文件,以防万一你弄错了,这是一个非常重要的文件。

  • 编辑\ wamp \ wampmanager.tpl

  • 在“[Menu.Left]”部分找到此参数;WAMPPROJECTSUBMENU

  • ;WAMPVHOSTSUBMENU参数之前或之后添加此新参数;WAMPPROJECTSUBMENU

  • 保存文件。

  • 现在左键单击 wampmanager图标,然后选择Refresh。如果这不添加菜单,请退出并重新启动wampmanager。

注意 只有在您已经定义了一些虚拟主机的情况下才会出现新菜单!否则,在定义一个或两个虚拟主机之前,您将看不到任何区别。

哦,如果@Bollis读到这个,请撤消对index.php所做的所有不必要的更改