项目链接在 Wamp Server 上不起作用
Posted
技术标签:
【中文标题】项目链接在 Wamp Server 上不起作用【英文标题】:Project Links do not work on Wamp Server 【发布时间】:2014-07-03 02:57:14 【问题描述】:我正在另一台计算机上安装 Wamp 服务器以运行中型数据库和 UI。我已成功阻止 IIS 并将服务器路由到 Localhost:8080。但是每当我尝试从本地主机主页访问我的项目时,在 www 文件中;我被重定向到未找到页面错误。
当我将鼠标悬停在链接上方时,目录总是出现“http://ProjectFolderNameHere/”。当它应该是“http://LocalHost:8080 / ProjectFolderNameHere /”时。我该怎么做才能使链接正常工作?
我的机器在 Windows 7 Home Edition 64 位上运行,并且我已经禁用了 Microsoft 的 IIS。
【问题讨论】:
你能访问 localhost:8080/index.html(假设你有一个)吗?显示那些损坏的 URL 的链接存储在哪里?谁写的?看起来那些链接写得不好。 不,但是我尝试连接到我的一个文件,全部设置在这里谢谢! 如果您找到了解决方案,请回答您自己的问题以供将来参考:) 好吧,所以我接受了 Patrick 的建议,但我输入了 localhost:8080/ProjectFilename 并最终访问了我的项目。我的问题仍然存在,但我找到了解决方法。 好吧,我相信您的链接(您点击的链接)写错了。如果您能更清楚地了解如何访问这些链接,在您“点击”它们之前它们写在哪里,我可以提供进一步的帮助 【参考方案1】:如何在 WampServer 中创建虚拟主机
WAMPServer 3 让这个过程变得更加容易!
您几乎可以通过作为 WAMPServer 一部分提供的实用程序执行所有操作。
在里面创建一个文件夹来包含您的 project.site。这可以在C:\wamp\www\
目录下,也可以在像C:\websites
这样的完全独立的文件夹中。
在您选择的位置 EG C:\websites\project1\www
或c:\wamp\www\project1\www
下创建一个文件夹
现在打开 localhost wampmanager->localhost
并点击主页上 TOOLS 部分下的链接 Add a Virtual Host
。
你会看到这样的页面:
按照每个字段上方的说明填写字段
将为您创建虚拟主机配置。
现在您必须重新启动 DNS 缓存。您可以从 wampmanager 菜单中执行此操作,例如 right click wampmanager->Tools->Restart DNS
。 DNS 缓存将重新启动,然后 Apache 也将停止并重新启动。当 wampmanager 图标再次变为绿色时,一切都已完成。
现在您必须创建一个简单的index.php
文件或将您的站点安装到您在上面创建的文件夹中。
假设您的 VH 名为 project.dev
,您应该会在 WAMPServer 主页的 Your Virtual Hosts 部分看到该名称。
您可以从此菜单启动站点,或者只使用地址栏中的新域名 EG project1.dev
并启动站点。
旧的 WAMPServer 2.5 机制,或者如果您想手动完成所有操作
WampServer 2.5 及更高版本的概念发生了变化,这种变化有充分的理由!
在 WampServer 中,现在强烈建议为您的每个项目创建一个虚拟主机,即使您将它们保存在 \wamp\www\subfolder
结构中。
Virtual Hosts Documentation
Virtual Host Examples
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://project1
运行,WAMPServer 开发站点上的结果将与在实时托管环境中收到的结果相匹配。
$_SERVER['HTTP_HOST'] = project1
$_SERVER['SERVER_NAME'] = project1
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www/project1
现在,这种差异起初可能看起来微不足道,但如果您使用 WordPress 之类的框架或 Joomla 等 CMS 之一,那么当您将网站移动到实时服务器时,这可能而且确实会导致问题。
如何在 WampServer 中创建虚拟主机
实际上,这对于任何 wndows Apache 服务器应该基本相同,不同之处仅在于您可以找到 Apache 配置文件的位置。
在 Apache 中创建您的第一个虚拟主机需要 3 个步骤,如果您已经定义了一个,则只需 2 个。
-
创建虚拟主机定义
将您的新域名添加到 HOSTS 文件中。
取消注释 httpd.conf 中包含虚拟主机定义文件的行。
第 1 步,创建虚拟主机定义
编辑 WampServer 所在的名为 httpd-hosts.conf
的文件
\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 位于同一台 PC 上,因此local
。
第 2 步:
将您的新域名添加到 HOSTS 文件中。 现在我们需要将我们在虚拟主机定义中使用的域名添加到 HOSTS 文件中,以便 windows 知道在哪里可以找到它。这类似于创建 DNS A 记录,但仅在这种情况下在此特定 PC 上可见。
编辑C:\windows\system32\drivers\etc\hosts
该文件没有扩展名,应该保持这种状态。注意记事本,如果您没有更好的编辑器,它可能会尝试添加.txt
扩展名。
我建议你下载 Notepad++,它是一款免费的非常好的编辑器。
此外,这是一个受保护的文件,因此您必须使用管理员权限对其进行编辑,因此请使用 Run as Administrator 菜单选项启动您的编辑器。
完成这些编辑后,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 开始就可以使用。
现在我们必须告诉 windows 刷新它的域名缓存,所以再次使用 Run as Administrator 菜单选项启动一个命令窗口,然后执行以下操作。
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 个新菜单项。一个名为“我的项目”,默认情况下是打开的。 第二个,称为 'My Virtual Hosts',默认情况下未激活。
“我的项目”将列出 \wamp\www 目录的任何子目录,并提供在该子目录中启动站点的链接。 正如我之前所说,它启动的是“project1”而不是“localhost/project1”,因此为了使链接正常工作,我们必须创建一个虚拟主机定义,以使该链接在您的浏览器中实际启动该站点,而没有虚拟主机定义很可能启动网站名称作为关键字的网络搜索,或者只返回未找到网站的条件。
“我的虚拟主机”菜单项略有不同。它搜索用于定义虚拟主机的文件(我们将在稍后介绍)并为它找到的每个 ServerName 参数创建菜单链接,并为每个参数创建一个菜单项。 这似乎有点令人困惑,因为一旦我们为 \wamp\www 文件夹的子目录创建了虚拟主机定义,一些项目将同时出现在“我的项目”菜单和“我的虚拟主机”菜单上。
如何打开另一个“我的虚拟主机”菜单?
备份 \wamp\wampmanager.tpl 文件,以防万一,这是一个非常重要的文件。 编辑 \wamp\wampmanager.tpl 在“[Menu.Left]”部分找到这个参数;WAMPPROJECTSUBMENU
。
在;WAMPPROJECTSUBMENU
参数之前或之后添加这个新参数;WAMPVHOSTSUBMENU
。
保存文件。
现在右键单击 wampmanager 图标,然后选择“刷新”。如果这没有添加菜单,请“退出”并重新启动 wampmanager。
大笔记 仅当您已经定义了一些虚拟主机时,才会出现新菜单!否则,在您定义 VHOST 之前,您将看不到任何区别。
现在如果你把它带到它的逻辑扩展上
您现在只需更改 VHOST 定义中的 DocumentRoot 参数,即可将您的网站代码完全移出 \wamp\
文件夹结构。例如,您可以这样做:
在 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 上的 Put Online/Offline 菜单项。
我还对 PHP 配置添加了一些修改,同样只适用于这个站点。 与您维护的所有其他站点不同,在维护具有特定要求的站点时非常有用。 我想我们可以从所使用的参数中假设它在某个地方有一个长时间运行的页面,并且它写得非常糟糕,并且不会在浏览器上显示错误而不会使页面变得混乱。相信我存在这样的网站,但人们仍然希望他们维护得很糟糕。但这意味着我们只需针对这个特定站点更改这些参数,而不是全局更改 WampServer 上运行的所有虚拟站点。
【讨论】:
非常有帮助。这确实应该是公认的答案。信息量很大,如果遵循得当,您将在大约 10 分钟内启动并运行。很好的建议。一个快速的点。我收到了 .htaccess: Invalid command 'RewriteEngine' 错误。我不得不在 Apache Modules 菜单下勾选 rewrite_module。有人能回答我为什么要这样做吗? @Chris Apache 的 rewrite_module 是实际提供重写引擎的代码。没有它,apache 不知道如何进行 url 重写。基本上它不是 apache 核心的一部分,而是一个需要更好描述的插件 "编辑名为 httpd-hosts.conf 的文件,该文件对于 WampServer 位于 \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.conf" 在我全新安装的 wampserver 中2.5,这个文件不存在。如果您的意思是 httpd-vhosts.conf,请更正。 @starleaf1 你希望是我们的命令!在 WAMPServer 3 上运行localhost/add_vhost.php
,查看 this post on WAMPServers Forum
谈谈深入讲解! +1 right click wampmanager -> Tools -> Restart DNS
在添加新的虚拟主机后成功了,但不明白为什么它仍然不能工作。【参考方案2】:
我相信这是最好的解决方案:
在www文件夹中打开index.php并设置
换行
30:$suppress_localhost = true;
到
$suppress_localhost = false;
这将确保项目以您的本地主机 IP/名称为前缀
【讨论】:
谢谢!已解决问题,但 /icons 路径的图标/图像未显示 blank.git、back.gif、folder.gif 显示未找到。对此也有任何解决方案吗? 是的,为每个站点创建一个虚拟主机,具体方法请参见上面的答案。 现在(WAMPSERVER 3)wampmanager 上有一个简单的菜单选项可以执行此操作,如果您真的不明白这是一个多么糟糕的主意。right click wampmanager->Wamp Settings->Add localhost to url
唯一的好处是,当您意识到它最初是多么糟糕的想法时,您可以轻松地再次将其关闭!【参考方案3】:
在www
文件夹中打开index.php
并设置
$suppress_localhost = false;
这会将http://localhost/
添加到您的项目链接中
【讨论】:
更新:有一种新方法可以做到这一点。这里:***.com/a/40846681/3125936【参考方案4】:为了从主页访问项目,您需要先创建一个虚拟主机。
最简单的方法是使用 Wamp 的 添加虚拟主机 实用程序。
只需按照以下步骤操作:
-
在 "C:\wamp\www\" 目录中创建一个文件夹,并为其命名,例如。 '我的网站'。所以路径将是 "C:\wamp\www\mysite"。
现在在浏览器中打开 localhost 的主页,在 Tools 菜单下单击 Add a Virtual Host 链接。
输入虚拟主机的名称,该名称必须是我们在www目录中创建的文件夹的名称,即'mysite em>'。
输入虚拟主机的绝对路径,即不带引号的"C:\wamp\www\mysite\",然后点击下面的按钮说'Start the创建虚拟主机'。
虚拟主机已创建,现在您只需'重新启动 DNS'。为此,请右键单击 wamp 服务器的托盘菜单图标,点击 Tools > Restart DNS,然后让托盘菜单图标再次变为绿色。
一切就绪!现在只需在 "C:\wamp\www\mysite\" 目录中创建 'index.php' 页面。在 'index.php' 文件中添加一些代码,例如
<?php
echo "<h1>Hello World</h1>";
?>
现在您可以从 localhost 的主页访问项目。只需单击项目链接,您就会在屏幕上看到“Hello World”。
【讨论】:
我认为这应该是公认的遮阳篷,因为我遇到了同样的问题并且它有效! 这个是最新的和完美的,对我有用。谢谢 。上面的一些答案很长而且已经过时了。 这应该是截至 2017 年 4 月 18 日当前接受的答案。非常适合我。 这行得通,但是我创建的项目文件夹之一的虚拟主机(例如示例)并未将“您的项目”标题下的示例更改为链接。这是为什么? 如果有人对项目文件夹没有从黑色文本转换为 http 链接有任何问题,我按照以下快速方法启用它:从 wamp/www/ 打开 index.php ,在线复制字符串152:'.str_replace('.conf','',$file).' 并替换字符串 。 $文件。 在第 359 行。嘿,快!【参考方案5】:如何修复损坏的图标链接(blank.gif、text.gif 等)
不幸的是,如前所述,简单地向您的项目添加虚拟主机并不能修复损坏的图标链接。
问题:
WAMP/Apache 不会将图标的目录引用更改为您各自的安装目录。它被静态设置为“c:/Apache24/icons”,99.9% 的用户 Apache 安装不在此处。尤其是 WAMP。
解决方法:
找到您的 Apache 图标目录!通常它将位于此处:“c:/wamp/bin/apache/apache2.4.9/icons”。但是,您的里程可能会因您的安装而异,如果您的 Apache 版本不同,那么您的路径也会不同。\
在您喜欢的编辑器中打开 httpd-autoindex.conf。这个文件通常可以在这里找到:“C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-autoindex.conf”。同样,如果您的 Apache 版本不同,那么这条路径也会不同。
找到这个定义(通常位于文件顶部附近):
Alias /icons/ "c:/Apache24/icons/"
<Directory "c:/Apache24/icons">
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
用您自己的目录替换“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>
重新启动您的 Apache 服务器并享受您的酷图标!
【讨论】:
更好更通用的解决方案是在 WAMPServer 3 之前的版本中将Alias
更改为 Alias /icons/ "icons/"
。在 WAMPServer 3 及更高版本中,这是默认设置,无需更改。【参考方案6】:
您可以按照@RiggsFolly 的所有步骤进行操作,这是一个很好的答案,如果您不想创建虚拟主机并想像以前的 localhost/example/ 或类似的东西使用,您可以使用@Arunu 的答案
但如果你仍然遇到问题,请使用此方法,
-
找到已安装的 wamp 文件夹(例如 c:/Wamp/)
转到 Wamp/www/
打开 index.php 文件
找到此代码
$projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
修改它在http://$projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
之后添加localhost
重启 wamp 服务器
打开本地主机查看更新的链接
希望你得到你的网址,就像以前版本的 wamp 服务器一样。
【讨论】:
您能否建议我们为 xampp 做的锄头。我尝试了所有方法,我的网站仍然重定向到 xampp 主页【参考方案7】:$suppress_localhost = false;
这对我有用。
【讨论】:
【参考方案8】:这适用于 Wamp 3+。
转到 wamp 文件夹(wamp/ 或 wamp64/) 打开 wampmanager.conf 找到 urlAddLocalhost 参数并将其设置为:urlAddLocalhost = "on"
应该不需要调整 www 文件夹中的 index.php。
【讨论】:
我在这里解决了这个问题:youtu.be/rRwG591fzU8【参考方案9】:回复:Wampserver LocalHost 链接无法正常工作 这是截至 2014 年 6 月的 Wampserver2.5(也许他们会在以后的版本中修复此问题)。注意:要使用 LocalHost:8080 而不是 LocalHost,只需在提到的编辑中进行适当的更改下面。
这个问题有两个方面- 首先是能够从 Wamp localhost 主页访问“您的项目”下的项目。 二是能够正确访问 Wampserver 图标任务栏的“我的项目”列表中列出的项目。
要修复第一个问题(以便能够从 Wamp localhost 主页访问“您的项目”下的项目),您需要执行以下操作...
您必须在 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 页面工作)【参考方案10】:检查 wamp 服务器图标是否为绿色,如果它是绿色的,那么它正在工作,如果不是,那么你必须按照这些步骤来做
一个。在运行 wamp 之前应关闭所有程序,因为大多数情况下,某些软件(如 Skype)使用 wamp 使用的相同端口(80)。
b.您可以更改Skype的端口:Tool-s->oprions->advanced->connection untick use port 80
重新启动 wamp 即可工作。
第二种情况
当您在 loalhost 中单击项目时,它不会显示项目名称前面的 localhost,因此看起来 wamp 无法正常工作,那么您只需要做一件事
。转到 wamp index.php 文件并更改 $suppress_localhost = false;从 $suppress_localhost = true;或者反之亦然,它会起作用
【讨论】:
【参考方案11】:导航到您的 www 目录(如果您使用 wamp 服务器)htdocs(如果在 XAMPP 上)。打开您的 admin.php 并搜索项目内容/或直接转到第 339 行并更改链接,将“本地主机”插入链接。
应该可以,,,
【讨论】:
【参考方案12】:我发现按项目创建本地子域并告诉 Apache 按名称服务多个站点要容易得多(比公认的答案)。
例如,假设您在c:/wamp64/www/sites/mysite
下创建了一个项目,为了能够在http://mysite.localhost 访问它,您只需执行以下操作:
1.告诉你的机器回答不同的名字
将127.0.0.1 mysite.localhost
添加到C:\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>
(source)
4.重启阿帕奇 点击托盘中Wamp的图标,选择“重启”
5.定义一个基本网址
转到您的项目文件夹,将<base href="http://mysite.localhost" />
添加到您的<head>
部分以防止/链接到服务器根目录被破坏。
就个人而言,我使用 PHP(类似于$site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;
)将这个 html 代码动态地注入到我的模板中,因此我不必费心在生产中删除它。
【讨论】:
【参考方案13】:您好,您需要从 wamp 服务器打开 index.php 并更改 $suppress_localhost = false;从 $suppress_localhost = true;那么你的 wamp 就可以正常工作了
【讨论】:
有很多答案都说明了这一点。 那你什么都没贡献。以上是关于项目链接在 Wamp Server 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Mysql 登录在我的本地 WAMP 服务器上不起作用(phpMyAdmin)
Bitnami WAMP 堆栈 Phpmyadmin 默认用户名密码在 Windows 8.1 上不起作用
EJB 3.1 绑定在 Websphere Application Server 上不起作用