【问题标题】:Why I'm not able to run the working PHP website from remote linux server on my local linux machine?为什么我无法在本地 linux 机器上从远程 linux 服务器运行 PHP 网站?
【发布时间】: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


【解决方案1】:

您必须更改该目录中文件/文件夹的权限。

在终端中,转到该目录并输入,

sudo chmod 777 . -R

递归更改所有文件的权限

【讨论】:

    【解决方案2】:

    您需要在此处修改新服务器的服务器设置(数据库、用户、主机等设置)://yournewserver/include/setting/server.sett.php,否则不会工作。要调试、启用或创建文件 //yournewserver/include/setting/dev.sett.php ... 解决问题后,只需将其重命名为任何名称,以备后用。运行程序后,它会自动检测并为您运行调试。您可以在设置新的服务器参数后修改 .htaccess 文件。您需要做的第一件事是连接到数据库并确保 //yournewserver/file 文件夹是完全可写的 chmode 777 递归,升级或迁移后,您需要 chmod 到任何管理面板会告诉您是否需要执行其他操作,例如删除安装文件夹或任何其他 chmod 问题。我的服务器告诉我安装后要做什么:“主文件夹是可写的 (file/)。这是一个安全风险,这个文件夹不应该有任何“写”权限。” 但你在一切正常后才这样做。

    一旦您启用或创建该调试文件,一旦您从 localhost 或本地服务器中的 IP 运行 PHPFOX,就会显示错误。如果您没有该文件,则可以创建一个新文件。这是 PHPFOX V3.8 的代码……您可以创建它并将其放在该文件夹中。该调试文件可能因版本而异。检查适合您的版本的版本,但您可以试一试。祝你好运。

    <?php 
        // Log error messages to XML flat file within the cache folder 
        define('PHPFOX_LOG_ERROR', true); 
    
        // Enable debug 
        define('PHPFOX_DEBUG', true); 
    
        // Debug level 
        define('PHPFOX_DEBUG_LEVEL', 3); 
    
        // Force browsers to re-cache static files on each page refresh 
        define('PHPFOX_NO_CSS_CACHE', true); 
        define('PHPFOX_DEBUG_EXIT', true); 
        define('PHPFOX_NO_TEMPLATE_CACHE', true); 
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 2020-06-12
      相关资源
      最近更新 更多