我在这个问题上度过了非常艰难的时期,并尝试了大量的解决方案,这些解决方案对某些人有用但对我不起作用。首先是我的设置: Ubuntu 14.04.2 Apache 2.4.7
我正在将我的网站迁移到wordpress到文件夹结构/ var / www / dev,它被设置为虚拟主机 - dev.conf看起来像:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
ServerAdmin ubuntu@12.345.678.90
DocumentRoot /var/www/dev
ServerName dev.mysite.com
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/dev/>
Options -Indexes +FollowSymLinks
AllowOverride All
#Require all granted
Order allow,deny
allow from all
</Directory>
</VirtualHost>
我的问题是,当我第一次在浏览器中访问我的主页dev.mysite.com时,它会将我引导到403页面:
Forbidden
You don't have permission to access / on this server.
我的根文件夹中还有一个.htaccess文件,目前看起来像这样:
DirectoryIndex index.php index.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
到目前为止,我遵循了两组不同的建议 - 其中一条建议将配置选项更改为:
Options +Indexes
然而,当我导航到我的主页时,它为我提供了物理文件夹“Index of /”,其中包含我所有文件和文件夹的列表 - 这是我不想要的。所以我把它留作了
Options -Indexes
另一组建议说将此添加到htaccess文件中:
DirectoryIndex index.php index.html
我还检查了我的文件夹权限,全部归我的apache用户admin ubuntu所有:ubuntu并且都遵循标准的wordpress文件夹权限,例如所有文件夹都是755,所有文件都是644(粗略的经验法则)。
我也尝试过使用新的apache 2.4标准
,你可以看到(上面已经注释掉)Require all granted
而不是
Order allow,deny
allow from all
我每次进行更改时都会重新启动服务器,所以没什么可傻的。我在上面的配置中做了什么,不让我加载我的网站?
具体来说,我的主页转到403 Forbidden,任何其他页面,例如dev.mysite.com/features加载此错误消息:
User-agent: *
Disallow: /wp-admin/
编辑: 上述问题仅在最初加载url时发生 - 如果我刷新它应该加载的页面。
这是我的文件所有权结构 - 也许这可能有用:
-rw-rw-r-- 1 ubuntu ubuntu 350 Sep 26 19:35 .htaccess
-rw-rw-r-- 1 ubuntu ubuntu 4951 Sep 9 13:21 wp-activate.php
drwxrwxr-x 9 ubuntu ubuntu 4096 Sep 9 13:21 wp-admin
-rw-rw-r-- 1 ubuntu ubuntu 271 Sep 9 13:21 wp-blog-header.php
-rw-rw-r-- 1 ubuntu ubuntu 5007 Sep 9 13:21 wp-comments-post.php
-rw-rw-r-- 1 ubuntu ubuntu 3130 Sep 24 10:32 wp-config.php
-rw-rw-r-- 1 ubuntu ubuntu 2764 Sep 16 17:23 wp-config-sample.php
drwxrwxr-x 6 ubuntu ubuntu 4096 Sep 24 10:46 wp-content
-rw-rw-r-- 1 ubuntu ubuntu 3286 Sep 16 17:23 wp-cron.php
drwxrwxr-x 12 ubuntu ubuntu 4096 Sep 9 13:21 wp-includes
-rw-rw-r-- 1 ubuntu ubuntu 2380 Sep 9 13:21 wp-links-opml.php
-rw-rw-r-- 1 ubuntu ubuntu 3123 Sep 9 13:21 wp-load.php
-rw-rw-r-- 1 ubuntu ubuntu 34669 Sep 16 17:23 wp-login.php
-rw-rw-r-- 1 ubuntu ubuntu 8252 Sep 9 13:21 wp-mail.php
-rw-rw-r-- 1 ubuntu ubuntu 11062 Sep 16 17:23 wp-settings.php
-rw-rw-r-- 1 ubuntu ubuntu 25124 Sep 16 17:23 wp-signup.php
-rw-rw-r-- 1 ubuntu ubuntu 4035 Sep 9 13:21 wp-trackback.php
-rw-rw-r-- 1 ubuntu ubuntu 3055 Sep 16 17:23 xmlrpc.php
答案 0 :(得分:1)
Forbidden 403
只是意味着权限存在问题。当服务器尝试访问所请求的资源时,由于权限问题而受到限制,因此那些建议修改Indexes
的人甚至没有关闭,因为Indexes
选项是控制目录清单。以下是关于Indexes
option from Apache
如果请求映射到目录的URL但没有 然后,该目录中的DirectoryIndex(例如,index.html) mod_autoindex将返回目录的格式化列表。
显然,您的问题的根本原因是&#34;权限&#34;。
现在,对于解决方案部分 - 因为我不知道您.htaccess
和dev.conf
的所有内容,所以低于您的一步一步的方法:
请尝试以下代码段。我正在尝试停用您的.htaccess
文件效果,看看是否有根本原因。如果有效,那么您可以查看.htaccess
的所有内容以查找可能的问题。
<Directory /var/www/dev/>
Options -Indexes +FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>
请尝试以下代码段。 Directory
的默认Apache访问权限是Allow from All
,所以我删除了它,让默认生效,没有排序..无论如何你也尝试了同样的事情..
<Directory /var/www/dev/>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
另外,我建议您首先尝试为您的网络应用目录和文件执行chmod 777
,因为在大多数情况下,权限问题是由于UNIX权限而非Apache权限。
<小时/>
后续编辑:
为了进一步调试,我们需要服务器错误信息,您是否可以启用最大调试并从error.log
和access.log
获取内容(如果从ssl日志进行HTTPS访问)。 Reference
另外,您能否提供您正在使用的DirectoryIndex
指令和网址的背景信息。
所有可能性都是您有权限问题,可能是因为Apache或UNIX。
因此,让我们首先全面排除UNIX权限问题,因此暂时为您的Web应用程序资源试用chmod 777
,如果它有效,我们知道它是UNIX权限问题,我们将看到下一步该做什么。
我对RewriteBase /
文件中的RewriteRule . /index.php [L]
和.htaccess
持怀疑态度。
尝试RewriteBase /var/www/dev
或您认为可能更相关但不是/
的任何内容
另外,请尝试使用RewriteRule
,然后尝试使用index.php
的绝对路径,因此请使用RewriteRule . /var/www/dev/<<XYZ>>/index.php
尝试使用下面的精确内容,如果您没有包含mod_cgi
模块,那么您可能需要。
<Directory "/home/domain/www">
Options +Indexes FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<小时/>
对于那些正在寻找解决方案的人 - 一旦OP使用chmod -R www:data
递归授予权限,他就可以解决这个问题。因此,总结一下 - 这个问题不是因为Apache配置,而是因为UNIX权限。请阅读下面的OP评论,了解更多详情。