If you are using nginx, you can use these rules. Just replace /domains/site.com with path to your site directory.
Make sure to point root to "public" subfolder and not main folder where files are uploaded, otherwise site will not work properly.
server
{
listen 80 default_server;
server_name default;
root /domains/site.com/public;
index index.html index.htm index.php;
charset utf-8;
location ^~ /storage/{}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico {
access_log off; log_not_found off;
}
location = /robots.txt {
access_log off; log_not_found off;
}
access_log off;
error_log /var/log/nginx/default-error.log error;
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}