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:
1RewriteEngine On2RewriteCond %{REQUEST_FILENAME} !-f3RewriteCond %{REQUEST_FILENAME} !-d4RewriteRule ^(.*)$ 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:
1location / {2 # Check if a file or directory index file exists, else route it to index.php.3 try_files $uri $uri/ /index.php;4}
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.