禁止访问:您无权访问此服务器上的/index.php

时间:2014-06-02 13:46:05

标签: apache .htaccess

我有一个全新安装的Apache / 2.4.7(Ubuntu),运行LAMP堆栈。我已将所有文件转移到新服务器,并且在尝试访问子域时收到以下错误,实际域名正常运行:

Forbidden You don't have permission to access /index.php on this server.

我已经做了很多搜索,this thread似乎有最多的解决方案(我已经尝试了大部分解决方案)。

这是我的apache2.conf文件:

<Directory />
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

奇怪的是,子域基本上是通过.htaccess的掩码,因此网站内容永远不会离开/ var / www / example_com - 我的权限在&#39; www&#39;是755,我有完全root权限。

我很困惑,因为我似乎找不到任何工作可以让我访问我的主域名的子域名:sub.example.com - 只给我403.

非常感谢任何帮助。

编辑(有关我的.htaccess文件的更多信息) 我的.htaccess文件的权限是755,并且几个月内没有更改。它在之前的服务器上工作,该服务器运行相同的LAMP堆栈但只是Ubuntu的旧版本。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|profile_pictures|fonts|stylesheets|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

RewriteCond %{HTTP_HOST} !^((www\.)?)example\.com [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com
RewriteRule ^(.*)$ http://example.com/site/%1$1 [L,NC,P]

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

请注意,我还运行CodeIgniter(如果重要的话)。

这是我加载的PHP模块(我在这里想到的是问题):

core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php5 mod_rewrite mod_setenvif mod_status

0 个答案:

没有答案