17 Jul 2021

Laravel Subfolder Di Apache WHM CPANEL

Beberapa hari ini ada mainan buat live production aplikasi berbasis laravel. Aplikasi yang akan naik ke production ini ingin dapat di akses dari url  dengan akhiran /xxx (dimisalkan). Contoh ada aplikasi dengan url https:/hanangpriambodo.com. kemudian saya ingin menaruh aplikasi laravel pada url seperti : https:/hanangpriambodo.com/app-laravel.

Seharusnya jika kita menggunakan webserver apache, cukup untuk menambahkan alias pada vhost nya dan mengedit .htaccess pada direktori public. tetapi jika kita menggunakan share hosting cpanel, dimana kita tidak memiliki akses kedalam whmnya, maka disini kita perlu sedikit ubah pada 2 htaccess.

  1. buat htaccess di direktori sebelum direktori /public.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /app-laravel/
RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
</IfModule>

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php72” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>

2. ubah file .htaccess di dalam direktori /public

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>

RewriteEngine On
RewriteBase /app-laravel/

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

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>


Cukup 2 hal itu saja yang dirubah. 

 

Terima Kasih

–HP–

Leave a Reply