Как удалить общую папку Laravel после перенаправления с http на Apache

Я пытаюсь удалить public папка из моего URL.
Я уже пытаюсь найти ответ, но не повезло, довольно похожий вопрос этот а также этот.

Вот деталь моей среды разработки:

Когда я настраиваю свой сертификат домена с помощью Let’s Encrypt, он генерирует файл конфигурации Apache, который автоматически перенаправляет любой запрос с http в https называется le-redirect-example.com.confкак показано ниже

<VirtualHost _default_:80>
ServerName example.com
ServerAlias *.example.com
ServerSignature Off

Redirect permanent / https://example.com

RewriteEngine On
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]ErrorLog /var/log/apache2/redirect.error.log
LogLevel warn
</VirtualHost>

У меня есть несколько приложений Laravel в качестве подпапки под /var/www/html корень документа, внутри /var/www/html уже есть .httaccess которые настраивают перенаправление содержимого следующим образом:

    Options -Indexes

RewriteEngine on
RewriteBase /

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

...

Я опустил нерелевантные строки.

Мой полный путь к приложению Laravel:

/var/www/html/example.com

Последний .htaccess файл находится внутри example.com/public/ содержание следующим образом:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Последний .httaccess файл — это файл vanilla из проекта Laravel, никаких изменений не сделано.

Итак, вот в чем дело, когда я ввожу

http://example.com

он будет перенаправлен на

https://example.com/example.com/public

Я надеюсь, что когда я введу

http://example.com

он будет просто перенаправлен на

https://example.com

Я уже пытаюсь поставить это правило

RewriteEngine On
RewriteCond %{SERVER_PORT} !443
RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L]

на этих файлах, но не повезло.

Заранее спасибо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector