Apache
If your server is running Apache (your web host will know if you don't), you can create a file named .htaccess
on the server at the root of your site. The following configuration should work for most servers:
RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L]
Nginx
If your server is running Nginx (your web host will know if you don't), you'll have to modify one of the servers files to get URL re-writing working properly. You can edit the /etc/nginx/conf.d/default.conf
file and add the following to your server
object:
location / { # Check if a file or directory index file exists, else route it to index.php. try_files $uri $uri/ /index.php;}
Know what you're doing
Before attempt to make this change, talk to your web host. They may have different ways of handling URL re-writing that are easier and potentially less disruptive to your server.