在 Ubuntu 20.04 LTS 和 Apache-2.4.41 上启用 .htaccess

在 Ubuntu 20.04 LTS 和 Apache-2.4.41 上启用 .htaccess

我在将网站迁移到 VULTR VPS - Ubuntu 20.04LTS 和 Apache - 2.4.41 时遇到问题

我在我的网站上使用 Opencart,我的问题是,每当我将 .htaccess 文件移动到新主机时,网站就会显示 500 错误代码。

因此我尝试启用重写模式。

$ sudo a2enmod rewrite

重启服务器

$ sudo systemctl restart apache2

然后我将一些代码添加到以下配置文件 /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-enabled/000-default.conf

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

我还在 /etc/apache2/apache2.conf 中更改了 apache2.conf 文件的代码

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

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

我还重新启动了服务器以确保它生效。

$ sudo systemctl restart apache2

不幸的是,我没有成功。每当我将 .HTACCESS 文件移动到 VULTR 时,网站仍然显示 500 错误代码。 在此处输入图片描述

这是我的.HTACCESS 文件中的代码。

Options +FollowSymlinks

    # Prevent Directoy listing
    Options -Indexes
    
    # Prevent Direct Access to files
    <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
     Require all denied
    ## For apache 2.2 and older, replace "Require all denied" with these two lines :
    # Order deny,allow
    # Deny from all
    </FilesMatch>
    
    # SEO URL Settings
    RewriteEngine On
    # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
    
    RewriteBase /
    RewriteEngine On
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} !^www\.website\.com$ [NC]
    RewriteRule ^(.*)$ https://www.website.com/$1 [L,R=301]
    RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
    RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

您能帮我解决这个问题吗?非常感谢您的帮助

答案1

已更新:问题已解决。出现此问题的原因是 plesk 中不允许使用 FollowSymlinks

所以我去 plesk >> 网站域名 >> Apache 和 Nginx 设置 >> 禁用限制跟随符号链接的能力

相关内容