在 cPanel 上上传时删除 Laravel 中的公共表单 URL 也始终重定向到 https://

问题描述 投票:0回答:1

所以我已将我的项目上传到 cPanel 的 public_html 文件夹,我的 URL 是

https://website.com
但我的网址看起来像
https://website.com/public
每当我尝试获取
https://website.com
时,某些有线 URL 都会出现 404 错误或继续加载页面。 那么我怎样才能使用 .htaccsess 并使我的 URL
https://website.com/about
看起来像这样,而不是这样
https://website.com/public/about

另外,我希望我所有的

http://
请求继续进行
https://

经过大量查找后,我发现了这条线,但它有时有效,有时无效。

RewriteRule ^(.*)$ public/$1 [L]

这是我网站根文件夹的 .htaccsess 文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php81” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php81 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

另外,让答案变得笼统,以便我或任何人都可以在任何情况下使用它。 并提供任何解释链接,因为我想学习这个。

php laravel apache .htaccess http
1个回答
0
投票
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

解释

将 HTTP 重定向到 HTTPS:如果请求不安全 (HTTP),第一个规则会将用户永久重定向到 URL 的 HTTPS 版本。

从公共目录提供服务:对于任何 URL 请求(检查 HTTPS 后),第二条规则会重写 URL 以从 public/ 目录提供文件,这在 Laravel 应用程序中很常见。

© www.soinside.com 2019 - 2024. All rights reserved.