我在将网站迁移到 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 设置 >> 禁用限制跟随符号链接的能力