This occurred because you did not check whether the folder exists and another detail instead:
RewriteRule ^painel - [L]
Prefer this:
RewriteRule ^painel/ - [L]
Without the bar . htaccess will accept addresses as localhost/painel2
and supposing it is a route it will become inaccessible.
Getting back to the problem, you probably did something similar to this in your . htaccess: /a/91799/3635
First solution
Must be using similar to this:
/home
|--- /user
|--- /public_html
|--- .htaccess (seu .htaccess)
|--- /public
|--- index.php
|--- .htaccess
|--- /app
|--- /bootstrap
|--- /config
|--- /database
|--- /painel (pasta do painel)
If you want the panel folder here to be accessible the public_html/.htaccess
should look like this:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ public/ [L]
Second solution
However the best thing is to stay inside public
same, then the structure would be so of the folders being this (public_html
is a common folder on servers, may have another name like www
), see that I moved the location of the panel folder inside public
:
/home
|--- /user
|--- /public_html
|--- .htaccess (seu .htaccess)
|--- /public
|--- /painel (pasta do painel)
|--- index.php
|--- .htaccess
|--- /app
|--- /bootstrap
|--- /config
|--- /database
So in this case the file public_html/.htaccess
must contain:
RewriteEngine On
RewriteRule ^ public/ [L]
And the file public_html/public/.htaccess
must contain:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Third solution
But I have to say, you can even use . htaccess to point everything to public
, however the best way is to define the DocumentRoot
as being the public
or release the content of public
in public_html
and the folders of the windows will be out, something like:
/home
|--- /user
|--- /app
|--- /bootstrap
|--- /config
|--- /database
|--- public_html (conteúdo de public deve ficar nesta pasta)
|--- /painel (pasta do painel)
|--- index.php
|--- .htaccess