MAMP Apache Alias始终相对于文档根目录进行映射

时间:2011-11-17 21:02:26

标签: apache mapping alias mamp

我正在尝试在MAMP上的Apache中设置一个虚拟目录。

这就是我在httpd.conf文件中的内容

  Alias /app /Users/ernesto/Developer/App/webroot
  <Directory /Users/ernesto/Developer/App/webroot>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

MAMP的文档根目录设置为默认/Applications/MAMP/htdocs,上面示例中的路径是绝对的。但是MAMP正试图将上述路径映射到:

/Applications/MAMP/htdocs/Users/ernesto/Developer/App/webroot

在显示apache错误日志的最后几行后我意识到了这一点:

[Thu Nov 17 15:40:39 2011] [error] [client 127.0.0.1] File does not exist: /Applications/MAMP/htdocs/Users

请确保,我将上面的路径更改为以/Uxers(而不是/Users)开头,并且更改已反映在错误日志中。

我几乎可以肯定,我在网上研究的是我期望的是正确的行为,但显然我可能做错了,或者在MAMP的httpd.conf中有一些其他模糊的设置让apache工作这条路。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

所以..来自this SO question我得知使用alias和mod_rewrite都存在一些问题。这让我看到了Apache手册的this part

#
#  /abc/def/.htaccess -- per-dir config file for directory /abc/def
#  Remember: /abc/def is the physical path of /xyz, i.e., the server
#            has a 'Alias /xyz /abc/def' directive e.g.
#

RewriteEngine On

#  let the server know that we were reached via /xyz and not
#  via the physical path prefix /abc/def
RewriteBase   /xyz

#  now the rewriting rules
RewriteRule   ^oldstuff\.html$  newstuff.html

在别名目录中的.htaccess文件中添加重写基础解决了我的问题(这首先引起了我的问题)

答案 1 :(得分:0)

我今天经历过这个。几乎把我所有的头发拉出来(我真的必须完成一些工作),我发现httpd-vhosts.conf文件的include在MAMP的默认安装中被注释掉了,因此,我的httpd-vhosts.conf文件中的(几十个)故障排除更改都没有:

...
# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
...
changed to 
...
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
...

我脸红了所以很难。这类似于没有插入电视...