You don’t have permission to access this resource. 原因與解決方法
今天一位朋友搭建了一個網(wǎng)站,結(jié)果報了如下錯誤:
Forbidden
You don't have permission to access this resource.
Apache Server at sosihow.xyz Port 80
中文翻譯
禁止的
您無權(quán)訪問此資源。
位于sosihow.xyz端口80的Apache服務(wù)器
原因:
從報錯也可以看出來,沒有權(quán)限訪問此資源。
解決方法
沒有權(quán)限這個問題,解決也很簡單,由于我們用的是 PHP+Mysql+Apache 環(huán)境,說沒有權(quán)限,主要是兩個地方:
1、文件或目錄權(quán)限的問題
我仔細(xì)去看了,他根目錄下面給的所有的權(quán)限都是777,因此,這個問題就被排除了。
2、Apache配置文件不當(dāng)?shù)膯栴}
我的配置正確如下:就解決了這個問題,大家可以去看一下,重要的地方我都標(biāo)記出來了。
<VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot "/www/wwwroot/sosihow.xyz" ServerName dda29fe7.soishow.xyz ServerAlias sosihow.xyz #errorDocument 404 /404.html ErrorLog "/www/wwwlogs/sosihow.xyz-error_log" CustomLog "/www/wwwlogs/sosihow.xyz-access_log" combined #DENY FILES <Files ~ (.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)$> Order allow,deny Deny from all </Files> #PHP <FilesMatch .php$> SetHandler "proxy:unix:/tmp/php-cgi-71.sock|fcgi://localhost" </FilesMatch> #PATH <Directory "/www/wwwroot/sosihow.xyz"> SetOutputFilter DEFLATE Options FollowSymLinks #禁止顯示Apache目錄列表 AllowOverride All #在AllowOverride 設(shè)置為 None 時, .htaccess 文件將被完全忽略。當(dāng)此指令設(shè)置為 All 時,所有具有 ".htaccess" 作用域的指令都允許出現(xiàn)在 .htaccess 文件中。 Require all granted #允許所有請求訪問資源 DirectoryIndex index.php index.html index.htm default.php default.html default.htm </Directory></VirtualHost>
3、網(wǎng)站根目錄運(yùn)行目錄問題。
有些網(wǎng)站運(yùn)行目錄直接是 / 根目錄,有些程序卻需要 /public等類似的目錄來運(yùn)行。
注意:有一部份程序根目錄下面雖然有 /public,但,并不代表這就是別人的運(yùn)行目錄,可能是程序開發(fā)者設(shè)計的時候就是這樣創(chuàng)建的。