在 OS X 上将“Sites”文件夹映射到 http://localhost

在 OS X 上将“Sites”文件夹映射到 http://localhost

我正在使用 Mac 上的内置服务器。

我的“站点”文件夹的 URL 是:http://localhost/~username/

使用 MAMP 我刚刚http://localhost/

有没有办法只http://localhost/使用内置服务器?

我的 Mac 上只有一个用户帐户。

答案1

您要更改文件 /etc/apache2/httpd.conf 中的“DocumentRoot”设置,然后重新启动网络共享。

答案2

/etc/apache2/httpd.conf

寻找

DocumentRoot  "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

更改为:

DocumentRoot "/Users/bob/Sites"
<Directory "/Users/bob/Sites">

您的用户名在哪里bob?现在您可以访问localhost/mywebsite而不是localhost/~bob/mywebsite

您可能需要重新启动 apachesudo apachectl restart

答案3

我也刚刚在 中更改了 DocumentRoot /etc/apache2/httpd.conf。但另一个选择是使用 vhosts:

  1. 取消Include /private/etc/apache2/extra/httpd-vhosts.conf注释/etc/apache2/httpd.conf
  2. 将其添加到/etc/apache2/users/username.conf/etc/apache2/extra/httpd-vhosts.conf

    <VirtualHost *:80>
        DocumentRoot "/Users/username/Sites"
        ServerName localhost
    </VirtualHost>
    
  3. sudo apachectl restart

如果出现类似错误You don't have permission to access / on this server,请尝试将其添加到/etc/apache2/users/username.conf

<Directory "/Users/username/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

答案4

我已经做过的最好的方法是使用这个终端命令(首先删除、重命名或将 Documents 文件夹移出 /Library/WebServer)ln -s ~/Sites/ /Library/WebServer/Documents:。

相关内容