4 найкращі способи видалення публіки з URL-адреси.
Якщо ви використовували будь-який інший трюк для видалення загальнодоступного з URL-адреси, наприклад, змінює ім'я server.php на index.php та переходить у основний шлях до файлу. Ясна річ, не робіть цього. Тоді чому Ларавель не дає такого рішення, оскільки це не правильний спосіб зробити це.
1) Видаліть публікацію з URL за допомогою htaccess у Laravel
Додавши в корінь файл .htaccess, Ви можете отримати доступ до веб-сайту без загальнодоступних
<ifmodule mod_rewrite.c>
<ifmodule mod_negotiation.c>
Options -MultiViews
</ifmodule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</ifmodule>
2) Видаліть публіку, створивши віртуальний хост у вашому локальному
Я демонструю тут демонстрацію для операційної системи Window. Але я спробую визначити крок, щоб кожен міг легко слідувати кроку. Ви також можете досліджувати Google для того ж самого для конкретної операційної системи.
Крок 1: Перейдіть до C: \ Windows \ system32 \ drivers \ etc \, відкрийте файл "hosts" в режимі адміністратора.
Крок 2: Додайте до нього наступний код. Тут я даю вам демонстрацію демонстраційного доменного імені projectname.local, ви можете вказати будь-яку, як вам подобається. Просто зробіть його постійним у кожному місці.
127.0.0.1 projectname.local
Крок 3. Тепер перейдіть до C:\xampp\apache\conf\extra
користувачів xampp та для користувача wamp "C:\wamp\bin\apache\Apache2.4.4\conf\extra"
та відкрийте "httpd-vhosts.conf"
файл. Тепер додайте в нього наступний код.
Примітки: Змініть корінь документа відповідно до вашого проекту, також додайте доменне ім’я, як ви визначаєте у файл "хостів".
<VirtualHost projectname.local>
ServerAdmin projectname.local
DocumentRoot "C:/xampp/htdocs/projectdir"
ServerName projectname.local
ErrorLog "logs/projectname.local.log"
CustomLog "logs/projectname.local.log" common
</VirtualHost>
Крок 4: Останній, але важливий крок - перезапустити Xampp або Wamp і отримати доступ до URL-адреси на зразок, http://projectname.local
і ваш Laravel відповість без загальнодоступної URL-адреси.
3) Видаліть загальнодоступну, запустивши команду в Laravel
Якщо ви працюєте в локальному середовищі, вам не потрібно нічого робити, просто потрібно виконати наступну команду зі свого терміналу чи інструменту командного рядка. Після цього ви можете отримати доступ до свого веб-сайту за вказаною URL-адресою командного рядка.
> php artisan serve
Якщо ви готові запустити свій проект на певний IP, вам потрібно виконати наступну команду. Якщо ви працюєте над локальною мережею, тоді, якщо ви хочете дозволити іншим людям отримувати доступ до вашого веб-сайту з локальних, вам просто потрібно перевірити свою IP-адресу за допомогою командного рядка, запустивши «ipconfig» після отримання вашої IP-адреси, яка працює за командою.
> php artisan serve --host=192.168.0.177
Якщо ви готові запустити свій проект на певному IP з певним портом, вам потрібно виконати наступну команду.
> php artisan serve --host=192.168.0.177 --port=77
4) Видаліть публікацію на розміщеному сервері або на cpanel
Після завершення проекту вам потрібно розмістити проект на сервері, тоді вам просто потрібно встановити корінь документа з вашого домену в загальнодоступну папку. Перевірте скріншот нижче.
Відповідно до скріншоту, якщо у вас немає папки проекту в public_html, тоді вам просто потрібно встановити корінь документа "public_html/public"
.
Довідка взята звідси