You don’t have permission to access this resource. 原因與解決方法
今天一位朋友搭建了一個(gè)網(wǎng)站,結(jié)果報(bào)了如下錯(cuò)誤:
Forbidden
You don't have permission to access this resource.
Apache Server at sosihow.xyz Port 80
中文翻譯
禁止的
您無(wú)權(quán)訪問(wèn)此資源。
位于sosihow.xyz端口80的Apache服務(wù)器

原因:
從報(bào)錯(cuò)也可以看出來(lái),沒有權(quán)限訪問(wèn)此資源。
解決方法
沒有權(quán)限這個(gè)問(wèn)題,解決也很簡(jiǎn)單,由于我們用的是 PHP+Mysql+Apache 環(huán)境,說(shuō)沒有權(quán)限,主要是兩個(gè)地方:
1、文件或目錄權(quán)限的問(wèn)題
我仔細(xì)去看了,他根目錄下面給的所有的權(quán)限都是777,因此,這個(gè)問(wèn)題就被排除了。
2、Apache配置文件不當(dāng)?shù)膯?wèn)題
我的配置正確如下:就解決了這個(gè)問(wèn)題,大家可以去看一下,重要的地方我都標(biāo)記出來(lái)了。
<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 時(shí), .htaccess 文件將被完全忽略。當(dāng)此指令設(shè)置為 All 時(shí),所有具有 ".htaccess" 作用域的指令都允許出現(xiàn)在 .htaccess 文件中。 Require all granted #允許所有請(qǐng)求訪問(wèn)資源 DirectoryIndex index.php index.html index.htm default.php default.html default.htm </Directory></VirtualHost>
3、網(wǎng)站根目錄運(yùn)行目錄問(wèn)題。
有些網(wǎng)站運(yùn)行目錄直接是 / 根目錄,有些程序卻需要 /public等類似的目錄來(lái)運(yùn)行。
注意:有一部份程序根目錄下面雖然有 /public,但,并不代表這就是別人的運(yùn)行目錄,可能是程序開發(fā)者設(shè)計(jì)的時(shí)候就是這樣創(chuàng)建的。