【发布时间】:2016-04-02 04:16:24
【问题描述】:
我已经在远程 Linux 服务器上安装了工作网站。
网站的所有文件都存在于远程 linux 服务器上的 '/var/www/' 目录中。
我使用 Filezilla 连接到该远程服务器并下载了 '/var/www/' 中存在的所有文件
我还在本地机器上使用 Ubuntu Linux、Apache Web 服务器。
我将所有下载的文件放入名为 'new_website' 的文件夹中,该文件夹位于位置 '/var/www/new_website'
之后,我在浏览器中点击 URL 'http://localhost/new_website' 并收到以下错误消息。
**Forbidden**
You don't have permission to access /new_website on this server.
Server unable to read htaccess file, denying access to be safe
然后我在谷歌上搜索了解决方案,发现我必须为文件夹 '/var/www/new_website' 中的文件“.htaccess”授予 755 权限。即使这样做了,我也遇到了同样的错误。有人可以让我知道这个问题的解决方案是什么。供您参考,我将文件'/var/www/new_website/.htaccess'的代码放在下面
注意:出于安全考虑,我在以下 .htaccess 代码中使用了我工作网站的重复 URL 作为“www.mywebsite.com”
######################################
## [PHPFOX_HEADER]
##
## @copyright [PHPFOX_COPYRIGHT]
## @author Raymond Benc
## @package PhpFox
## @version $Id: htaccess.txt 5866 2013-05-10 09:06:38Z Raymond_Benc $
######################################
# Options -Indexes
# Options -Multiviews
# Header unset Pragma
# FileETag None
# Header unset ETag
# URL Rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
#
# Full path to your site
#
RewriteBase /
# Rename Photo Names
# RewriteRule ^file/pic/photo/([0-9]+)/([0-9]+)/([A-Za-z0-9]{32}+)\-(.*?)_([0-9]*?)\.(.*)$ file/pic/photo/$1/$2/$3_$5.$6
# RewriteRule ^file/pic/photo/([0-9]+)/([0-9]+)/([A-Za-z0-9]{32}+)\-(.*?)\.(.*)$ file/pic/photo/$1/$2/$3.$5
# 301 redirect if missing www.
#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule ^(.*)$ http://www.% {HTTP_HOST}/$1 [R=301,L]
# 301 redirect if missing trailing slash
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]
#
# Rules
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?do=/$1
RewriteCond %{HTTP_HOST} ^mywebsite.com [NC]
RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301]
# Image Access Protection
# RewriteRule ^file/pic/photo/(.*)\.(.*)$ static/image.php?file=$1&ext=$2
</IfModule>
# Modify Headers
<IfModule mod_expires.c>
ExpiresActive ON
# Cache files
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
ExpiresDefault "access plus 2 months"
Header unset Last-Modified
</FilesMatch>
# Cache JavaScript & CSS
<FilesMatch "\.(js|css)$">
Header set Cache-Control "public"
ExpiresDefault "access plus 2 months"
Header unset Last-Modified
</FilesMatch>
</IfModule>
# Compress JavaScript & CSS
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
order allow,deny
deny from 77.99.11.22
allow from all
如果您需要我提供更多信息来解决此问题,请告诉我。 谢谢。
【问题讨论】:
-
更改您的文件夹权限。
chmod 777 -
@Thamizhan:你的意思是递归文件夹'/var/www/new_website'的文件夹权限,不需要对文件'/var/www/new_website/的代码做任何改变。 htaccess'?
-
不用编辑
.htaccess就够了 -
我不建议在生产服务器上使用
sudo chmod 777 . -R,甚至chmod 777,它会让您的文件和目录对所有人开放。而是找出需要访问的组/用户并相应地设置权限。
标签: php apache .htaccess file-permissions http-status-code-403