0

在这个问题上,我已经正式走到了尽头。作为一个经常同时在多个网站上工作的人(我相信我在这里并不孤单),每当我想在不同的网站上工作时,重命名我的“htdocs”目录变得令人沮丧,所以我决定把一个简单的脚本。

我的第一种方法是根据我提供的目录输入重置“httpd.conf”中的“DocumentRoot”变量,但是,在主“/Applications/XAMPP/”目录之外有一个 DocumentRoot 已被证明是一个更大的问题。如您所见,我正在运行带有 XAMPP 安装的 OSX。理想情况下,我希望我的所有网站都位于“/Users/Me/Sites/*”。即使我试图在 XAMPP 的基本目录中移动我的站点,Apache 也不想加载除“htdocs”之外的任何内容作为我的 DocumentRoot。

我的下一个方法是简单地将符号链接添加到我当时正在处理的每个站点中的所有文件/目录到“htdocs”。这可以在浏览器中很好地加载基本 html 文件,但是,我主要使用 PHP,这似乎不想呈现(我可以看到该文件,但它不会显示为网页)。

这些方法本身听起来都不太难,但是从学习 Xcode,到 AppleScript,再到 Apache 的 httpd.conf 文档,我觉得我已经经历了足够多的头痛。对于我所经历的每次尝试,我都使用了权限,但还没有为我解决任何问题。

我敢肯定,过去有很多其他网页设计师都遇到过这个问题,你的解决方案是什么?

4

3 回答 3

1

这实际上很容易实现,因为您使用的是 XAMPP,我不是 100%,但是如果您进入该文件,/bin/apache2/conf/extras/您应该会看到该文件中调用httpd-vhosts.conf的文件,您可以添加任意数量的虚拟主机。确保将 设置为ServerName独特的。完成后,确保在httpd.conf

现在,您只需编辑您的主机文件。我不确定这在 OSX 上的位置,因为它是基于 linux 的,我会说/etc/hosts,但谷歌会帮助你。为每个站点添加一行,如下所示:

127.0.0.1     site1.dev
127.0.0.1     site2.dev

等现在重新启动 apache 并在您的浏览器类型中site1.dev,apache 应该理解它并将您带到该站点。很简单。

于 2011-01-04T07:31:28.347 回答
0

布拉德的解决方案应该有效。

如果您使用的是 OSX,您可能还想查看 MAMP (http://www.mamp.info/en/index.html)。有一个免费和“专业”版本。我只使用了免费版本,但是将根目录从一个项目更改为另一个项目非常简单。唯一的问题是使用套接字连接的 MySQL,但如果你知道你在做什么,这没什么大不了的。

于 2011-01-04T07:41:19.170 回答
0

一旦您了解了 virtualHost 的东西,假设您将使用基于名称的虚拟主机并编辑您的主机文件以获取与您的开发服务器 IP 匹配的所有这些名称,一旦完成,您将看到您将不得不调整 documentRoot 和目录每个新项目的所有这些虚拟主机上的设置。

所以存在一个通用的解决方案: mod_vhost_alias : http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html 你所有的虚拟主机都是一样的,有变量(documentRoot、serverName等)。如果您想对某些项目进行特定设置,请确保您已允许 .htaccess 文件并在那里设置特定内容。

于 2011-01-04T12:15:27.977 回答