in the framework folder create an .htaccess file with the following contents
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
then in the framework/public folder create an .htaccess file with the contents
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L]
</IfModule>
by adding the .htaccess file as above we can make the URL on the website more user-friendly.
For example if we write a URL like
http://google.com/asdf
will be converted to
http://google.com?url=asdf
for test purposes, we create a php index.php file in a public folder with the following content
<?php
echo $_GET['url'];
?>
if when run in a browser using the URL above the result is 404 not found, most likely mod_rewrite has not been enabled as in step 1. if the result is 500 Internal Server Error, there may be an error in writing .htaccess