【问题标题】:Change document root. Migrating from MAMP to AMPPS更改文档根目录。从 MAMP 迁移到 AMPPS
【发布时间】:2015-03-07 17:54:32
【问题描述】:

我希望这看起来不是一个愚蠢的问题:我已经使用 MAMP 好几年了,我喜欢它的地方(与 WAMP 不同)是我可以打开应用程序指向 Web 服务器上的任何文件夹我的系统和 localhost 将作为该文件夹的根目录运行。

使用 AMPPS,似乎所有内容都存储在 www 中。因此,如果我有很多项目(我会这样做),我希望能够将指向我的资产的链接作为基于根的 url 写入(例如):

 /css/main.css 

目前这将假定 www 是根,而我想要

www/project1

www/project2

处理此问题的最佳方法是什么?有没有办法让它比每次我想运行服务器时都更改配置更自动化。

CAVEAT(我对第 1 点和第 2 点不是特别熟悉):

  1. 可以编写一个带有重写规则的 .htaccess 文件(但是我需要为每个项目更改这个,或者一个 .htaccess 文件可以处理我的所有项目,带有多个规则)。

  2. 我可以向 httpd.conf 添加多个项目吗?这是否需要更新 hosts 文件?

我可以在每个项目中设置基本 url 标记(尽管这看起来真的很陈旧,并且在将文件部署到另一个位置时不是很便携)。

我真正想做的是复制 MAMP 功能,即能够指向任何文件夹并以 root 身份运行它。

抱歉,如果这有点模糊。

【问题讨论】:

  • 一点更新,AMPPS 似乎正在自动写入主机文件,以及更新 httpd-vhosts.conf 以便映射项目,我只想知道如何设置/project1 作为根。或在项目之间切换。

标签: apache .htaccess localhost server document-root


【解决方案1】:

在最终用户面板中,即http://localhost/ampps,您可以创建域(即虚拟主机)。它提供了在hosts 文件中添加条目的选项。

可以编写带有重写规则的 .htaccess 文件(但我需要 更改每个项目,或者单个 .htaccess 文件可以处理所有 我的项目,有多个规则)。

您可以在 .htaccess 中为每个项目创建。将 .htaccess 放在创建的 VirtualHost 的文档根目录中。

我可以将多个项目添加到 httpd.conf 吗?这是否需要更新 hosts 文件?

如果您想手动添加配置,您可以这样做,但避免在httpd.conf 中执行任何操作,而是创建一个新的 conf 文件并将其包含在 httpd.conf 中,就像 Ampps 等其他 vhosts 配置一样。查看文件 httpd.conf 的以下部分,其中行以 Include .... 开头

【讨论】:

  • 是的,但是如何以 root 身份运行每个项目?我希望 project1 是 localhost,而不是现在的 localhost/project1。
  • 好的,好吧,我现在工作了一半,我将发布我自己的答案,但你的答案肯定对我有所帮助。只有我问“我可以这样做”与“我需要这样做吗”不同。谢谢。
【解决方案2】:

好的,我已经完成了大部分工作。

在映射到名称的主机文件中创建条目的问题。

所以我可以在“添加新域”中创建一个新域

我输入一个网址:

 /Applications/AMPPS/www/tmp

并且还要添加一个域名

 local.tmp

然后在浏览器中运行http://local.tmp。现在,如果我将它们设置为根链接,则指向图像、css 和 js 的链接将起作用。喜欢:

 /css/main.css
 /js/site.js 

唯一的问题是我使用 php 包含页眉和页脚等,而且这些似乎必须相对编写。

所以:

 /common/header.php

不会在文件内部工作,但没关系,我只是将其设置为相对(无论如何这可能是一个好习惯。

感谢@Jigar 的指点。

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 2016-06-21
    • 2017-06-25
    • 1970-01-01
    • 2019-03-23
    • 2017-08-31
    相关资源
    最近更新 更多