我正在尝试在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工作这条路。有什么想法吗?
答案 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)
...
# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
...
changed to
...
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
...
我脸红了所以很难。这类似于没有插入电视...