erbaig
Last Updated: January 27, 2017
·
86.66K
· hnordt
79f39dbd7c90349087908bb13ab8fb55

Laravel's .htaccess to remove "public" from URL

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Place this file in Laravel's root directory.

Please note that this isn't the recommended way. A safer way is place Laravel's files outside your web server root and make the Laravel's public directory your web server root. Don't forget to update the paths.php file.

6 Responses
Add your response

3795

I tried this and it doesn't work for me - I keep getting a 404 error from Laravel. Any thoughts on how I could troubleshoot?

over 1 year ago ·
6244
9686693c6b9ac45105929e9fadf60cc5

I had the same problem as tridnguyen. This method only works if the base laravel folder is the webroot, it wont work if the base laravel folder is a subfolder of the webroot

over 1 year ago ·
7575
14c0bfae70fe674d9598bd7e726c6260

Here is where I found the answer. Tested in local and production server:

http://creolab.hr/2013/03/removing-the-public-segment-in-a-laravel-4-app/

over 1 year ago ·
8508
5e82042bd7bcdaea9227cae973775fa8

just for the guys using IIS like me, my solution (workaround, I'd say) was to strip index.php from the url by importing the standard .htaccess and then I create a virtual directory, say "employees" pointing to D:\inetpub\wwwroot\lv\employees\public; then navigating thru localhost/employees/controller/method seems to work fine.

over 1 year ago ·
27531

I has try, but it don't, my apache use port 8080.

11 months ago ·
28540