Hosting Laravel di Sub folder
Kasus ketika ingin menghosting aplikasi Laravel di subfolder pada server yang menggunakan Apache
Misalnya kita mempunyai domain http://example.com yang sudah berjalan untuk website dan ingin menambahkan /simpelapp, dimana /simpelapp adalah aplikasi kita yang dibuat dengan Laravel
Contoh :
//Ini adalah directory utama, contohnya untuk menyimpan file website ketika http://example.com diakses
/var/www/public_html
//ini adalah directory aplikasi laravel ketika http://example.com/simpelapp diakses
/var/www/public_html/simpelapp
Langkah pertama, simpan semua file Laravel pada directory simpelapp
Selanjutnya, buka file .htaccess yang terdapat pada /var/www/public_html/simpelapp/public, lalu rubah konfigurasi seperti contoh berikut:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteBase /simpelapp/
#ini disesuaikan dengan nama aplikasi/subdirectory
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Selanjutnya buka konfigurasi virtual host , biasanya terletak pada /etc/apache2/sites-available (bisa berbeda, tergantung OS yang digunakan), kemudian sesuaikan konfigurasi seperti contoh berikut:
define ROOT "/var/www/public_html"
define SITE "example.com"
<VirtualHost *:80>
DocumentRoot "${ROOT}"
ServerName ${SITE}
#ServerAlias *.${SITE}
Alias /simpelapp "/var/www/public_html/simpelapp/public"
<Directory "${ROOT}">
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/public_html/simpelapp/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Kemudian restart apache
systemctl restart apache2
Catatan :
Postingan ini dibuat sebagai catatan penulis, tidak menjamin konfigurasi tersebut berjalan baik pada server anda.