我希望这似乎不是一个愚蠢的问题:我已经使用MAMP好几年了,我喜欢它(而不是WAMP)是我可以在任何文件夹上打开应用程序指向Web服务器我的系统和localhost将作为该文件夹的根目录运行。
使用AMPPS似乎所有内容都存储在www。所以,如果我有很多项目(我这样做),我希望能够以root为基础的URL(例如)编写我的资产的链接:
/css/main.css
目前这将假设www是根,而我想要
WWW / PROJECT1
WWW /项目2
处理此问题的最佳方法是什么?有没有办法让它比每次我想运行服务器时更改配置更加自动化。
CAVEAT (我对第1点和第2点并不是特别熟悉):
可以使用重写规则编写.htaccess文件(但是我需要为每个项目更改此项,或者单个.htaccess文件可以处理我的所有项目,具有多个规则)。
我可以将多个项目添加到httpd.conf吗?这是否需要更新主机文件?
我可以在每个项目中设置基本网址标记(虽然这看起来很陈旧,但在将文件部署到其他位置时却不太便于移植)。
我真正想做的是复制MAMP功能,能够指向任何文件夹并以root身份运行它。
道歉,如果这有点毛茸茸。
答案 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指点。