-
-
Save liaotzukai/8e61a3f6dd82c267e05270b505eb6d5a to your computer and use it in GitHub Desktop.
<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> |
Worked for me to thank you
My laravel does not see css, js, etc files and routes
Access file in / public
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# 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>
Access file in / root folder laravel project
<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>
Thanks allot 👍
@liaotzukai Could you explain what each rule do, please?
Its working thank you,it saved my time @HeroGuys
hello
@liaotzukai this code works very well , but when we can access site with site.com and site.com/public ! how can we disable view in public folder? i want only user can view site from site.com URL not site.com and site.com/public
Hello
@liaotzukai everything is working fine, when i past the url with /public also able to access the normal way. is it any issues, and i need to block the .env file, so i added one more line to the above .htaccess. on the bottom line of " RewriteRule ^ server.php ". i added " RewriteRule ^.env - [F,L,NC] ".
Can you tell me the solution for block the link if we put additional uri called /public to the normal url
My laravel does not see css, js, etc files and routes
Great resolve my issue
Thanks
I love you. Sincerely. How much time I have wasted before I found this.
Thank you very much. its work !
@HeroGuys : Thanks
causes a 500 error on namecheap
@HeroGuys Thanks a lot, it's working perfectly
@HeroGuys It's working, thanks a lot.
Seems to work great in Laravel 8. The only one I found! Thanks!
THIS WORKS FOR ME IM USING LARAVEL 5.6
1.- I CREATE A NEW FILE IN MY ROOT DIRECTORY OF MY PROJECT CALL IT ".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.- I pasted this piece of code on my new file, refresh the browser and thats it.
Whats the problem: I had the problem: subdomain.domain.com/name-project/public/
The result I want ♥: And it woks! I have the solution The result: subdomain.domain.com/name-project/
Thanks @liaotzukai ♥
@liaotzukai Do you know how this code would look like for OpenLiteSpeed web server?
There are many guides that recommend enabling .htaccess support inside OLWS configuration, but I would like to avoid using access files, and add the rules directly inside virtual host config file.
There are not many online guides regarding Laravel and OLWS...
It worked for me, thank you very much.