Laravel 5 htaccess в общедоступной сети. Работает как с / public / URL, так и без

Я использую Laravel 5.4 на общем веб-хостинге. Сайт работает нормально, без каких-либо функциональных проблем. Я заставляю HTTPS + WWW всегда.

Но есть проблема с URL-адресом после перенаправления с недействительной / несуществующей страницы.

Вместо https://www.example.com/ в URL это показывает https://www.example.com/public/

Нет перенаправления на /public/ если я пойду на любые существующие страницы. Сайт работает нормально в обоих направлениях, с или без /public/, Для посетителей может быть запутанным, что иногда это /public/ в конце URL, а иногда и без. Например, обычно у меня есть URL https://www.example.com/about , но он также работает в https://www.example.com/public/about В этом случае я также не уверен в возможных уязвимостях.

У меня есть 2 файла .htaccess, один в корневой папке проекта public_html и еще одна в общедоступной папке Laravel public_html/public,

1) public_html / .htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

2) public_html / государственные / .htaccess

<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}]

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(txt|xml)$ - [L]

# Force SSL + WWW
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

</IfModule>

0

Решение

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

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

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

По вопросам рекламы [email protected]