我的网站运行正常,直到我安装SSL证书。现在我的网站显示:禁止
您没有访问此资源的权限。
Apache/2.4.41(Ubuntu)服务器,位于www.mysite.com端口443
Apache配置文件和虚拟主机指向mysite-files.com/public目录。
我查了/var/www/html的目录和子目录权限设置,是0755,文件是0644。
我的站点的SSL检查器检查为有效。whynopadlock.com检查mysite.com是否强制使用HTTPS。但是,我仍然无法再次显示mysite.com。
我已经重启了Apache和我的VPS。还是没有。
这就是为什么我相信.htaccess文件是罪魁祸首。
这是我的.htaccess内容:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
#RewriteEngine On
RewriteEngine On
RewriteCond %{HTTP_HOST} mysite\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ mysite.com/$1 [R,L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
救命啊
2条答案
按热度按时间nx7onnlm1#
重写条件%{REQUEST_URI}时的重写引擎!^public重写规则^(.*)$ public/$1 [L]
尝试在.htaccess文件中使用此代码,这适用于laravel 9
pxiryf3j2#
我终于在这个线程上找到了一个解决方案。编辑Apache2配置文件并包含在.htaccess文件中
效果很好。