项目链接在Wamp Server上不起作用


85

我正在另一台计算机上安装Wamp Server,以运行中型数据库和UI。我已成功阻止IIS并将服务器路由到Localhost:8080。但是,每当我尝试从localhost主页访问我的项目时,都在www文件中;我被重定向到页面未找到错误。

当我将鼠标悬停在链接上方时,目录始终显示为“ http:// ProjectFolderNameHere /”。应该是“ http:// LocalHost:8080 / ProjectFolderNameHere /”时。如何使链接正常工作?

我的机器在Windows 7 Home Edition 64位上运行,并且我已经禁用了Microsoft的IIS。


您可以访问localhost:8080 / index.html(假设您有一个)吗?链接存储在哪里,向您显示那些损坏的URL?谁写的?这些链接似乎写得不好。
帕特里克

不,但是我尝试连接到我的一个文件,所有文件都设置在这里,谢谢!
user3638431 2014年

如果找到解决方案,请回答您自己的问题,以备将来参考:)
Patrick

好的,所以我要做的是接受Patrick的建议,但是我键入localhost:8080 / ProjectFilename并最终访问了我的项目。我的问题仍然存在,但是我找到了解决方法。
user3638431 2014年

好吧,我确实相信您的链接(单击的链接)写错了。如果你可以阐明你是怎么得到这些链接,然后点击“”他们在那里不会写入更多的光线,我可以进一步协助
帕特里克

Answers:


157

如何在WampServer中创建虚拟主机


WAMPServer 3使此过程变得更加容易!

您可以使用WAMPServer随附的实用程序执行几乎所有操作。

  • 在其中创建一个文件夹以包含您的project.site。该文件可以位于C:\wamp\www\目录下,也可以位于完全独立的文件夹中C:\websites

  • 在您选择EG的位置内C:\websites\project1\www或下方创建一个文件夹c:\wamp\www\project1\www

  • 现在打开localhost wampmanager->localhost,然后单击Add a Virtual Host主页上“工具”部分下的链接。

您将看到如下页面:

在此处输入图片说明

  • 填写每个字段上方的说明指定的字段

  • 将为您创建虚拟主机配置。

  • 现在,您必须重新启动DNS缓存。您可以从这样的wampmanager菜单中执行此操作right click wampmanager->Tools->Restart DNS。DNS缓存将重新启动,然后Apache也将停止并重新启动。当wampmanager图标再次变为绿色时,所有操作均完成。

  • 现在,您必须创建一个简单的index.php文件或将站点安装到上面创建的文件夹中。

  • 假设您的VH被称为,project.dev您应该在WAMPServer主页的“虚拟主机”部分下看到该名称。

  • 您可以从此菜单启动网站,也可以只使用地址栏中的新域名(域名),project1.dev然后启动网站。


旧的WAMPServer 2.5机制,或者如果您想手动完成所有操作

WampServer 2.5及更高版本中的概念已发生更改,并且有充分的理由进行此更改!

在WampServer中,现在强烈建议为每个项目创建一个虚拟主机,即使您将它们保存在\wamp\www\subfolder结构中也是如此。

虚拟主机文档

虚拟主机示例

现在,WampServer主页(\wamp\www\index.php)希望您已经为所有项目创建了虚拟主机,因此只有在这样做的情况下才能正常工作。

历史

为了使使用WampServer的初学者可以更轻松地学习PHP Apache和MySQL,建议您在该\wamp\www\文件夹下创建子文件夹。

wamp
  |-- www
       |-- Chapter1
       |-- Chapter2
       |-- etc

然后,这些子文件夹将在WampServer主页中的“您的项目”菜单下显示为链接,并且这些链接将包含的链接localhost/subfoldername

仅适用于简单教程

对于初学者来说,这使工作变得容易,并且对于以下学习PHP编码的教程来说是完全可以接受的。但是,从来没有打算在开发一个真实的网站时使用它,以后再将其复制到实时托管的服务器上。实际上,如果您确实使用了此机制,则由于活动站点配置与您的开发配置不匹配,通常会引起问题。

真正的网站开发问题

原因当然是wamp的默认DocumentRoot设置是

DocumentRoot "c:/wamp/www/"

无论您的子文件夹是什么。此说明经常使用查询结构或网站的PHP代码在开发WampServer上运行时收到的信息与在实时托管服务器上运行时所收到的信息不同,DocumentRoot配置指向该网站顶部的文件夹文件层次结构。这种代码存在于许多框架和CMS中,例如WordPress和Joomla等。

例如

假设我们有一个名为project1的项目,wamp\www\project1并且以localhost/project1/index.php

这是一些有问题的PHP命令将报告的内容:

$_SERVER['HTTP_HOST'] = localhost
$_SERVER['SERVER_NAME'] = localhost
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www

现在,如果我们已经使用“虚拟主机”定义正确定义了该站点并运行它,因为http://project1WAMPServer开发站点上的结果将与在实时宿主环境中收到的结果匹配。

$_SERVER['HTTP_HOST'] = project1
$_SERVER['SERVER_NAME'] = project1
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www/project1

现在,这种差异乍看之下似乎微不足道,但是如果您使用的是WordPress之类的框架,或者使用诸如Joomla之类的CMS之类的框架,那么当您将站点移至实时服务器时,这确实会造成问题。

如何在WampServer中创建虚拟主机

实际上,这对于任何Windows Apache Wndows服务器都应该基本相同,只是在可以找到Apache配置文件的地方有所不同。

在Apache中创建第一个虚拟主机需要3个步骤,如果已定义一个,则只有2个步骤。

  1. 创建虚拟主机定义
  2. 将您的新域名添加到HOSTS文件中。
  3. 取消注释httpd.conf中包含虚拟主机定义文件的行。

步骤1,创建虚拟主机定义

编辑httpd-hosts.confWampServer所在的文件

\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf

(Apache版本号可能会有所不同,请先动脑子再继续)

如果这是您第一次编辑此文件,请删除默认的示例代码,它没有用。

我假设我们要为一个名为project1的站点创建一个定义,该站点位于

\wamp\www\project1

非常重要,首先我们必须确保localhost仍然有效,这是我们将放入此文件的第一个VHOST定义。

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

现在我们定义我们的项目:当然,当您开始一个新项目时,您当然要为每个项目做。

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/project1"
    ServerName project1
    <Directory  "c:/wamp/www/project1">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

注意:将每个虚拟主机DocumentRoot定义为其自己。您还可以将许多其他参数添加到虚拟主机定义中,请查看Apache文档。

放在一边

虚拟主机在Apache中的工作方式:该文件中的第一个定义也将是默认站点,因此浏览器中使用的域名应该与任何实际定义的虚拟托管域都不匹配,因此将localhost作为文件中的第一个域将使如果黑客尝试仅使用您的IP地址加载的站点。因此,如果我们确保此域的Apache安全性始终设置为

Require local

任何来自外部地址的随意破解都会收到一个错误,并且不会进入您的PC,但是如果您拼写错误的域名,则会显示WampServer主页,因为您与WampServer和thefore是同一台PC local

第二步

将您的新域名添加到HOSTS文件中。现在,我们需要将在虚拟主机定义中使用的域名添加到HOSTS文件中,以便Windows知道在哪里可以找到它。这类似于创建DNS A记录,但是在这种情况下,仅在此特定PC上可见。

编辑 C:\windows\system32\drivers\etc\hosts

该文件没有扩展名,应保持这种状态。当心记事本,.txt如果您没有更好的编辑器,它可能会尝试添加扩展名。我建议您下载Notepad ++,它是免费的且非常好的编辑器。

这也是一个受保护的文件,因此您必须使用管理员权限对其进行编辑,因此请使用“以管理员身份运行”菜单选项启动编辑器。

完成这些编辑后,hosts文件应如下所示

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

请注意,您应该在此处为IPV4回送地址127.0.0.1以及IPV6回送地址定义,::1因为Apache现在可以识别IPV6,并且浏览器将使用IPV4或IPV6或两者都使用。我不知道它如何决定使用哪个,但是如果您打开了IPV6堆栈,并且可以使用XP SP3的大多数窗口操作系统,它就可以使用。

现在,我们必须告诉窗口刷新其域名缓存,因此再次使用“以管理员身份运行”菜单选项再次启动命令窗口,然后执行以下操作。

net stop dnscache
net start dnscache

这将强制Windows清除其域名缓存并重新加载它,在重新加载时它将重新读取HOSTS文件,因此现在它知道该域了project1

步骤3:取消注释httpd.conf中包含虚拟主机定义文件的行。

编辑您的httpd.conf,使用wampmanager.exe菜单来确保您编辑了正确的文件。

在httpd.conf中找到此行

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

然后删除该行#即可取消注释。

要在运行Apache的过程中激活此更改,我们现在必须停止并重新启动Apache服务。

wampmanager.exe -> Apache -> Service -> Restart Service

现在,如果系统托盘中的WAMP图标不再变为绿色,则表明您可能在\wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.conf文件中做错了什么。

如果是这样,这是找出问题所在的有用机制。它使用Apache exe(httpd.exe)的功能来检查其配置文件并按文件名和行号报告错误。

启动命令窗口。

cd \wamp\bin\apache\apache2.4.9\bin
httpd -t

因此,请修复错误并再次进行测试,直到获得输出为止

Syntax OK

现在还有一件事。

wampmanager菜单系统上实际上有2个新菜单项。一个名为“我的项目”的默认情况下处于启用状态。第二个名为“我的虚拟主机”,默认情况下未激活。

“我的项目”将列出\ wamp \ www目录的任何子目录,并提供一个链接来启动该子目录中的站点。就像我之前说的,它启动的是“ project1”而不是“ localhost / project1”,因此要使链接正常工作,我们必须创建一个虚拟主机定义,以使该链接在您的浏览器中实际启动该站点,而如果没有虚拟主机定义,启动网站搜索作为关键字的站点名称,或者仅返回找不到站点的条件。

“我的虚拟主机”菜单项有所不同。它搜索用于定义虚拟主机的文件(我们将在稍后介绍),并为找到的每个ServerName参数创建菜单链接,并为每个参数创建菜单项。当我们为\ wamp \ www文件夹的子目录创建虚拟主机定义后,这似乎有些混乱。某些项目将同时出现在“我的项目”菜单和“我的虚拟主机”菜单上。

如何打开其他“我的虚拟主机”菜单?

  • 备份\ wamp \ wampmanager.tpl文件,以防万一您输入错误,它是非常重要的文件。
  • 编辑\ wamp \ wampmanager.tpl
  • ;WAMPPROJECTSUBMENU在[[Menu.Left]]部分中找到此参数,
  • ;WAMPVHOSTSUBMENU在参数之前或之后添加此新;WAMPPROJECTSUBMENU参数。
  • 保存文件。
  • 现在,右键单击wampmanager图标,然后选择“刷新”。如果未添加菜单,请“退出”并重新启动wampmanager。

注意 :仅当您已经定义了一些虚拟主机时,才会显示新菜单!否则,在定义VHOST之前,您不会发现任何区别。

现在,如果将其扩展到逻辑上

现在,\wamp\只需更改VHOST定义中的DocumentRoot参数,就可以将网站代码完全移出文件夹结构。因此,例如,您可以这样做:

在wamp磁盘或任何其他磁盘上创建一个文件夹(请注意网络驱动器,它们稍微复杂一些)

D:
MD websites
CD websites
MD example.com
CD example.com
MD www

现在,您将站点代码复制到或开始在\websites\example.com\www文件夹中创建站点代码,并按以下方式定义VHOST:

<VirtualHost *:80>
    DocumentRoot "d:/websites/example.com/www"
    ServerName example.dev
    ServerAlias www.example.dev
    <Directory  "d:/websites/example.com/www">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    php_flag display_errors Off
    php_flag log_errors On

    php_value max_upload_size 40M
    php_value max_execution_time 60
    php_value error_log "d:/wamp/logs/example_com_phperror.log"
</VirtualHost>

然后将这个新的开发域添加到HOSTS文件中:

127.0.0.1 localhost
::1 localhost

127.0.0.1 project1
::1 project1

127.0.0.1 example.dev
::1 example.dev

注意:使用与您的实时域名相同的ServerName或ServerAlias不是一个好主意,就好像我们使用example.com作为ServerName一样,这意味着我们将无法再从该站点访问真实的实时站点。 PC会将example.com定向到127.0.0.1,即该PC而不是连接到Internet。

还:看到我已允许从VHOST定义中的Internet访问此站点,此更改将仅适用于此站点,而不适用于其他任何站点。对于允许客户在一个小时左右的时间内查看您的更改而不必将其复制到实时服务器中非常有用。这确实意味着我们必须手动编辑此文件才能打开和关闭此访问权限,而不是使用wampmanager上的“联机/脱机”菜单项。

另外,我还对PHP配置进行了一些修改,同样仅适用于该站点。与您维护的所有其他站点不同,在维护具有特定要求的站点时非常有用。我想我们可以根据使用的参数来假设它的某个页面中有一个运行时间较长的页面,并且编写得很差,并且不会在浏览器中显示错误而不会造成页面混乱的情况下运行。相信这样的网站存在,人们仍然希望它们维护得不好。但这意味着我们只需要为此特定站点更改这些参数,而不必全局更改为WampServer上运行的所有虚拟站点。


很有帮助。这确实应该是公认的答案。非常有用的信息,如果正确遵循的话,大约10分钟即可启动并运行。很好的建议。不过,有一个快速点。我收到了.htaccess:无效命令“ RewriteEngine”错误。我必须在Apache Modules菜单下打勾rewrite_module。有人可以回答为什么我必须这样做吗?
克里斯

1
@Chris Apache的rewrite_module是实际提供重写引擎的代码。没有它,Apache将不知道如何进行URL重写。基本上,它不是Apache核心的一部分,而是
缺少

“编辑WampServer的名为httpd-hosts.conf的文件位于\ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf中”在我的wampserver 2.5全新安装中,此文件不存在。如果您的意思是httpd-vhosts.conf,请更正。
bcsteeve

2
@ starleaf1您希望是我们的命令!localhost/add_vhost.php在WAMPServer 3上运行,在WAMPServers论坛上
RiggsFolly 2016年

1
谈论深入的解释!对于+1,right click wampmanager -> Tools -> Restart DNS在添加了新的虚拟主机并且不了解为什么它仍无法正常工作之后,它就成功了。
Paesano2000

74

我相信这是最好的解决方案:

在www文件夹中打开index.php并设置

更改第30行:$suppress_localhost = true;

$suppress_localhost = false;

这将确保项目以您的本地主机IP /名称为前缀


1
谢谢!解决了问题,但/ icons路径的图标/图像未显示blank.git,back.gif,folder.gif显示未找到。任何解决方案呢?
Shubham Badal 2014年

3
是的,为每个站点创建一个虚拟主机,有关如何操作,请参见上面的答案。
RiggsFolly 2014年

1
如果您真的不知道这是一个坏主意,现在wampmanager上有一个(WAMPSERVER 3)简单菜单选项可以执行此操作。right click wampmanager->Wamp Settings->Add localhost to url唯一的好处是,当您意识到它最初是个坏主意时,便可以轻松地再次将其关闭!
RiggsFolly


11

为了从主页访问项目,您需要首先创建一个虚拟主机

最简单的方法是使用Wamp的“添加虚拟主机实用程序”。

只需按照以下步骤操作:

  1. “ C:\ wamp \ www \”目录中创建一个文件夹,并为其指定一个名称,例如。' mysite '。因此路径为“ C:\ wamp \ www \ mysite”
  2. 现在,在浏览器中打开本地主机的主页,在“工具”菜单下,单击“添加虚拟主机”链接。
  3. 输入虚拟主机的名称,该名称必须是我们在www目录中创建的文件夹的名称,即“ mysite ”。
  4. 输入虚拟主机的绝对路径,即“ C:\ wamp \ www \ mysite \”(不带引号),然后单击下方的“开始创建VirtualHost”按钮。
  5. 虚拟主机已创建,现在您只需“重新启动DNS”。要执行此操作,请右键单击wamp服务器的任务栏菜单图标,单击“工具”>“重新启动DNS”,然后使任务栏菜单图标再次变为绿色。
  6. 搞定!现在,只需在“ C:\ wamp \ www \ mysite \”目录下创建“ index.php”页面。在“ index.php”文件中添加一些代码,例如
    <?php echo "<h1>Hello World</h1>"; ?>

现在,您可以从本地主机的主页访问项目。只需单击项目链接,屏幕上就会显示“ Hello World”。


1
我认为这应该是公认的遮阳篷,因为我有同样的问题,而且有效!
Nmaster88 '16

1
这是最新的,完美的,为我工作。谢谢 。上述一些答案冗长而过时。
Junaid

2
这应该是截至2017年4月18日当前接受的答案。为我完美地工作。
rolo

这行得通,但是我创建的一个项目文件夹(例如example)的虚拟主机并没有更改“您的项目”标题下的链接示例。为什么这样做?
克里斯(Krys)

如果有人遇到项目文件夹无法从黑色文本转换为http链接的问题,我将按照以下快速方法启用它:从wamp / www /打开index.php,在第152行复制字符串:<li> <a href =“'。str_replace('。conf','',$ file)。'/”>'。str_replace('。conf','',$ file)。'</a> </ li>并替换字符串<li>。$ file。</ li>在第359行。
克里斯(Krys)

2

如何修复损坏的图标链接(blank.gif,text.gif等)

不幸的是,如前所述,仅将虚拟主机添加到您的项目并不能解决断开的图标链接。

问题:

WAMP / Apache不会将图标的目录引用更改为您各自的安装目录。它静态设置为“ c:/ Apache24 / icons”,99.9%的用户Apache安装不在此处。特别是与WAMP。

解决方法:

  1. 找到您的Apache图标目录!通常它将位于以下位置:“ c:/wamp/bin/apache/apache2.4.9/icons”。但是,根据安装的不同,您的里程可能会有所不同;如果您的Apache版本不同,那么您的路径也会有所不同。\

  2. 在您喜欢的编辑器中打开httpd-autoindex.conf。通常可以在以下位置找到该文件:“ C:\ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf”。同样,如果您的Apache版本不同,则此路径也将如此。

  3. 查找以下定义(通常位于文件顶部附近):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. 用您自己的目录替换“ c:/ Apache24 / icons /”目录。重要说明您必须在第一个目录引用中使用尾随正斜杠。第二个目录引用必须没有结尾斜杠。您的结果应与此类似。同样,您的目录可能不同:

    Alias /icons/ "c:/wamp/bin/apache/apache2.4.9/icons/"
    
    <Directory "c:/wamp/bin/apache/apache2.4.9/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  5. 重新启动您的Apache服务器,享受漂亮的图标!


更好的常规解决方案是将WAMPServer 3之前的in更改AliasAlias /icons/ "icons/"in版本。在WAMPServer 3及更高版本中,这是默认设置,不需要更改。
RiggsFolly

2

您可以按照@Riggs的所有步骤进行操作。多数民众赞成在这方面确实是一个很好的答案,如果您不想创建虚拟主机并希望像以前的localhost / example /那样使用,则可以使用@Arunu的答案

但是,如果您仍然遇到问题,请使用此方法,

  1. 找到您已安装的wamp文件夹(例如c:/ Wamp /)
  2. 转到Wamp / www /
  3. 打开index.php文件
  4. 找到这个代码 $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. 修改它,在http://之后添加localhost $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. 重启wamp服务器
  7. 打开本地主机,查看更新的链接

希望您像以前版本的Wamp Server一样获得URL。


你能建议我为xampp做吗。我尝试了所有方法,但仍将我的网站重定向到xampp主页
Sushivam 2016年


1

这适用于Wamp 3+。

  • 转到wamp文件夹(wamp /或wamp64 /)
  • 打开wampmanager.conf
  • 查找urlAddLocalhost参数并将其设置为: urlAddLocalhost = "on"

不需要调整www文件夹中的index.php。


0

回复:Wampserver LocalHost链接无法正常工作
这是从2014年6月开始的Wampserver2.5(也许他们会在以后的版本中解决此问题)。
注意:要使用LocalHost:8080代替LocalHost,只需在下面提到的编辑中进行适当的更改。

此问题有两个方面-
第一个方面是能够从Wamp本地主机主页访问“您的项目”下的项目。
第二个是能够正确访问Wampserver图标任务栏的“我的项目”列表中列出的项目。

要修复第一个问题(为了能够从Wamp本地主机主页访问“您的项目”下的项目),您需要执行以下操作:

您必须在wamp \ www文件夹(通常为C:\ wamp \ www)中的index.php文件中进行2次编辑

1)在第30行更改

  $suppress_localhost = true;

  $suppress_localhost = false;

2)在338行

  $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';

  $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : 'http://localhost//').$file.'">'.$file.'</a></li>';

完成上述编辑后-如果Wampserver正在运行,则只需刷新本地主机页面,更改即刻生效。

要修复第二项(Wampserver图标任务栏的“我的项目”列表):您需要编辑C:\ wamp \ scripts \ refresh.php

找到第651行,并更改该行的以下内容:

   Parameters: "http://'.$projectContents[$i].'/"; Glyph: 5

   Parameters: "http://localhost//'.$projectContents[$i].'/"; Glyph: 5

在完成第二组更改之后,您可能不得不通过切换Wamp图标托盘应用程序底部的“联机/脱机”选项来强制Wampserver刷新“我的项目”列表。


很棒的家伙,终于可以了!(用于绕过iis插孔80使站点从wamp localhost页面工作)
Cammy 2015年

-1
  1. 检查WAMP服务器图标是否为绿色,如果为绿色,则说明工作正常,否则,请按照以下步骤操作

    一种。在运行wamp之前,应关闭所有程序,因为在大多数情况下,某些软件(例如skype)使用的端口与wamp使用的端口相同(80)。

    b。您可以更改skype的端口:工具-s-> oprions->高级->连接取消使用端口80

  2. 重新启动沼泽将工作。

第二案

  1. 当您在loalhost中单击该项目时,它不会显示该项目名称的localhost infront,因此看起来wamp无法正常工作,那么您只需要做一件事

    。转到wamp index.php文件并更改$ suppress_localhost = false; 来自$ suppress_localhost = true; 或反之亦然,它将起作用


-1

导航到您的www目录(如果使用wamp服务器)htdocs(如果在XAMPP上)。打开admin.php并搜索项目内容/或直接转到行号339并更改链接,然后在链接中插入“本地主机”。

那应该工作,


-1

我发现按项目创建本地子域并告诉Apache按名称提供多个站点要容易得多(比接受的答案要容易得多)。

例如,假设您在下创建了一个项目c:/wamp64/www/sites/mysite,以便能够在http://mysite.localhost上访问它,您只需执行以下操作:

1.告诉您的机器回答不同的名称 添加127.0.0.1 mysite.localhostC:\windows\system32\drivers\etc\hosts

2.刷新DNS缓存 以管理员身份打开命令提示符net stop dnscache,然后输入net start dnscache

3.告诉Apache看哪里 单击托盘中Wamp的图标,转到Apache-> httpd.conf,并在末尾添加:

# Tells Apache to identify which site by name
NameVirtualHost *:80
# Tells Apache to serve the default WAMP Server page to "localhost"
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost> 
# Tells Apache to serve Client 1's pages to "client1.localhost"
# Duplicate and modify this block to add another client
<VirtualHost 127.0.0.1>
# The name to respond to
ServerName client1.localhost
# Folder where the files live
DocumentRoot "C:/wamp64/www/sites/mysite"
# A few helpful settings...
<Directory "C:/wamp64/www/sites/mysite">
allow from all
order allow,deny
# Enables .htaccess files for this site
AllowOverride All
</Directory>
# Apache will look for these two files, in this order, if no file is specified in the URL
DirectoryIndex index.html index.php
</VirtualHost> 

来源

4.重新启动Apache 单击托盘中Wamp的图标,选择“重新启动”

5.定义基本URL 转到您的项目文件夹,添加<base href="http://mysite.localhost" />到您的<head>部分,以防止断开与服务器根目录的/ links。

就个人而言,我使用PHP(类似$site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;)将html代码动态地注入到我的模板中,因此我不必费心在生产中删除它。


-3

您好,您需要从wamp服务器打开index.php并更改$ suppress_localhost = false;。来自$ suppress_localhost = true; 那你的沼泽就可以了


2
有很多答案恰恰说明了这一点。
Vael Victus

1
那么您什么也没贡献。
Vael Victus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.