4 cara terbaik untuk menghapus publik dari URL.
Jika Anda menggunakan trik lain untuk menghapus publik dari URL seperti mengubah nama server.php menjadi index.php dan mengubah ke jalur file inti. Jelas, jangan lakukan itu. Lalu mengapa Laravel tidak memberikan solusi seperti ini karena itu bukan cara yang tepat untuk melakukan itu.
1) Hapus publik dari URL menggunakan htaccess di Laravel
Dengan menambahkan file .htaccess ke root, Anda dapat mengakses situs web tanpa publik
<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) Hapus publik dengan membuat host virtual di lokal Anda
Saya memberikan demo di sini untuk sistem operasi Window. Tetapi saya akan mencoba mendefinisikan langkah agar siapa pun dapat dengan mudah mengikuti langkah itu. Anda juga dapat melakukan riset di google untuk hal yang sama untuk sistem operasi tertentu.
Langkah 1: Buka C: \ Windows \ system32 \ drivers \ etc \ buka file "hosts" dalam mode Administrator.
Langkah 2: Tambahkan kode berikut ke dalamnya. Di sini, saya memberi Anda demo demo nama domain projectname.local, Anda dapat menentukan yang Anda inginkan. Jadikan itu konstan di setiap tempat.
127.0.0.1 projectname.local
Langkah 3: Sekarang pergi ke, C:\xampp\apache\conf\extra
untuk pengguna xampp dan untuk pengguna wamp "C:\wamp\bin\apache\Apache2.4.4\conf\extra"
dan buka "httpd-vhosts.conf"
file. Sekarang tambahkan kode berikut ke dalamnya.
Catatan: Ubah root Dokumen sesuai proyek Anda juga tambahkan nama domain saat Anda mendefinisikan ke dalam file "host".
<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>
Langkah 4: Terakhir tetapi langkah penting adalah memulai kembali Xampp atau Wamp Anda dan mengakses url like http://projectname.local
dan Laravel Anda akan merespons tanpa URL publik.
3) Hapus publik dengan menjalankan perintah di Laravel
Jika Anda bekerja di lokal maka Anda tidak perlu melakukan apa pun hanya perlu menjalankan perintah berikut dari terminal atau alat baris perintah Anda. Setelah itu, Anda dapat mengakses situs web Anda dengan URL yang disediakan oleh baris perintah.
> php artisan serve
Jika Anda bersedia untuk menjalankan proyek Anda pada IP tertentu maka Anda perlu menjalankan perintah berikut. Jika Anda bekerja pada LAN maka jika Anda ingin orang lain mengakses situs web Anda dari lokal maka Anda hanya perlu memeriksa alamat IP Anda menggunakan baris perintah dengan menjalankan "ipconfig" setelah menjalankan alamat IP Anda mengikuti perintah.
> php artisan serve --host=192.168.0.177
Jika Anda ingin menjalankan proyek Anda pada IP tertentu dengan port tertentu maka Anda perlu perintah berikut.
> php artisan serve --host=192.168.0.177 --port=77
4) Hapus publik di server yang dihosting atau di cpanel
Setelah menyelesaikan proyek Anda perlu meng-host proyek di server, maka Anda hanya perlu mengatur root dokumen di domain Anda ke folder publik. Periksa tangkapan layar di bawah ini.
Sesuai tangkapan layar jika Anda tidak memiliki folder proyek ke dalam public_html maka Anda hanya perlu menyetel seperti root dokumen Anda "public_html/public"
.
Referensi diambil dari sini