更改文档根目录。从MAMP迁移到AMPPS

时间:2015-01-09 11:58:55

标签: apache .htaccess localhost server document-root

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

使用AMPPS似乎所有内容都存储在www。所以,如果我有很多项目(我这样做),我希望能够以root为基础的URL(例如)编写我的资产的链接:

 /css/main.css 

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

WWW / PROJECT1

WWW /项目2

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

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

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

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

  3. 我可以在每个项目中设置基本网址标记(虽然这看起来很陈旧,但在将文件部署到其他位置时却不太便于移植)。

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

    道歉,如果这有点毛茸茸。

2 个答案:

答案 0 :(得分:1)

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

  

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

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

  

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

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

开头

答案 1 :(得分:1)

好的,所以我大部分时间都在工作。

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

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

我输入了一个网址:

 /Applications/AMPPS/www/tmp

并添加域名

 local.tmp

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

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

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

所以:

 /common/header.php

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

感谢@Jigar指点。