Laravel 5: ссылки с ../public/ .. работают, но не должны - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть большое приложение Laravel / VueJS.Хотя он не завершен на 100%, пока все работает так, как ожидалось.Единственная проблема, с которой я столкнулся на данный момент, заключается в том, что URL работают с добавлением общей папки

mydoamin.com/public/the/rest/of/the/url

, а также без

mydoamin.com/the/rest/of/the/url

Вопрос + ответ Избегать публичныхПапка laravel и открытие непосредственно корня на веб-сервере не сильно помогли.Я полагаю, что это что-то очень простое, я забыл в своем файле .htaccess?

Вот содержимое ./rootfolder/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://myracediary.com/$1 [R,L]
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Мой проект

Google и другие поисковые системы уже сканировали эти URL-адреса, хотя я даже не знаю, откуда вообще могли появиться ссылки на них:

Результат Google

Дополнительная информация

Хотя файлы .htaccess схожи в моей локальной среде разработки (LAMPP) и производственном сервере (Centos 6, Apache), я на самом деле получаю желаемые 404в моей локальной среде, используя пути с дополнительной папкой /public/, но не в рабочей среде.

После некоторой игры я обнаружил, что запросы с дополнительной общей папкой просто проходят мимо файла .htaccess вкорневая папка.

Я пытался добавить правило для перенаправления в файл .htaccess в этой общей папке следующим образом: безуспешно, хотя

RewriteEngine On

# Handle redirects if public folder is defined
RewriteCond %{REQUEST_URI} ^public
RewriteRule ^public/(.*)$ https://myracediary.com/$1 [R=301,L]

1 Ответ

0 голосов
/ 14 февраля 2019

Хорошо, у меня ушло некоторое время, чтобы разобраться со всем этим, но вот как я решил это:

  1. Я изменил DocumentRoot в моей конфигурации Apache с ...myrootfolder на ...myrootfolder/public, который теперь полностью исключает обращение к первому файлу .htaccess.
  2. В файле .htaccess общей папки я добавил перенаправление http на https, как видно из моего первоначального вопроса.

Результат:

Хотя было бы неплохо плавно перенаправить URL-адреса с общей папкой на URL-адреса без них, сейчас я счастлив получить 404 ошибки при попытке открыть перепутанныйдо URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...