@Bahast7 if at all possible, you should point it to the public folder. If not you need to configure your htaccess file to make absolutely sure that the user cannot access anything but public folder stuff
You are demonstrating the problems with ignoring the installation advice and then hacking the framework to make it work.
Your web server has a 'document root' which is the folder that is served as the '/' entry point. Everything hosted above that should be inaccessible.
So, you need to change the document root for your server to be the laravel public folder and then use the standard .htaccess file and the standard index.php
@bahast7 You’ve misconfigured your web server. And now you’re acting surprised there’s an issue.
Configure your web root properly. Laravel has a public directory for a reason. That’s the directory that you should be setting as the root for your virtual host; not the project’s root directory.
# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
DocumentRoot "/var/www/path/to/public"
ServerName www.example.com
# Other directives here
</VirtualHost>