apache配置VirtualDocumentRoot

时间:2016-06-26 10:17:12

标签: apache http-status-code-403 vhosts error-log mod-vhost-alias

我在switch textField.tag { case 1: // it's the first text field! case 2: // it's the second text field! case 3: // it's the third text field! default: break }

中有此配置
httpd-vhosts.conf

当我尝试访问我的网站时,我收到了403禁止页面。 当我查看apache错误日志时,我看到了:

<Directory "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>
<Virtualhost *:80>
    VirtualDocumentRoot "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites/_localhost"
    UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
   VirtualDocumentRoot "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites/%2"
   ServerName sites.dev
   ServerAlias www.*.dev
   ServerAlias www.*.dev.*.xip.io
   UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
    VirtualDocumentRoot "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites/%1"
    ServerName sites.dev
    ServerAlias *.dev
    ServerAlias *.dev.*.xip.io
    UseCanonicalName Off
</Virtualhost>

我不完全理解为什么路径在[Sun Jun 26 12:09:12.310868 2016] [core:error] [pid 1272] (13)Permission denied: [client 127.0.0.1:50110] AH00035: access to /favicon.ico denied (filesystem path '/Users/username/Library/Mobile Documents') because search permissions are missing on a component of the path, referer: http://site.dev/ 停止。所有文件夹都存在,我的根目录中有一个Mobile Documents文件,没有其他任何内容可以解释403错误。

我在这里缺少什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

啊,我解决了这个问题。可能不是最好的方式但它有效,所以如果有人有更好的想法,请分享。 我的解决方案 我更改了用户和组apache从_www运行到我自己的用户名和组。 我用过这个解决方案: https://coolestguidesontheplanet.com/forbidden-403-you-dont-have-permission-to-access-username-on-this-server/

  

更改Apache Web用户

     

使用Users / username / Sites文件夹的一个挫折是   权限问题包括更新和身份验证。

     

这是因为运行httpd的默认Web服务器用户是已知的   作为_www,它不是您本地帐户中的用户。如果你的   机器仅供您使用,网络服务器仅在下运行   您的帐户然后您可以更改用户。

     

/etc/apache2/httpd.conf

中将其更改回来      

osx-yosemite-webserveruser

     

只需将其更改为您的用户名和群组,群组将是员工和   重启Apache

     

sudo apachectl restart