.htaccess 从子文件夹重定向到域无法正常工作

.htaccess redirect from subfolder to domain not working properly

我正在为我的网站使用 PHP、Laravel 8 框架和 cPanel。我想做的是这样的。

重定向路由来自

http://example.com/example.com/public/
http://example.com/example.com/public/about
http://example.com/example.com/public/contact
.
.
// more

https://example.com/
https://example.com/about
https://example.com/contact
.
.
// more

我在域根 public_html 文件夹中有 .htaccess 文件。

.htaccess 文件

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /example.com/public/ [L]

如果我做错了什么,请指导我。

请根据您显示的尝试尝试遵循规则。请确保在测试您的 URL 之前清除您的浏览器缓存。确保两件事。 1st- 将 htaccess 规则文件保持在与文件夹 example.com 相同的级别,2nd- 将 index.php 保持在 /root/example.com/public 文件夹中。

Options -Indexes -MultiViews
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/example\.com/public [NC]
RewriteRule ^(.*)/?$ example.com/public/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ example.com/public/index.php [L]