RewriteEngine On RewriteBase /blog/ # Don't rewrite existing files or directories RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # /blog/admin/* - let admin handle its own routing RewriteRule ^admin/ - [L] # /blog/categoria/slug → index.php?cat=slug RewriteRule ^categoria/([a-z0-9-]+)/?$ index.php?cat=$1 [L,QSA] # /blog/pagina/2 → index.php?page=2 RewriteRule ^pagina/([0-9]+)/?$ index.php?page=$1 [L,QSA] # /blog/categoria/slug/pagina/2 → index.php?cat=slug&page=2 RewriteRule ^categoria/([a-z0-9-]+)/pagina/([0-9]+)/?$ index.php?cat=$1&page=$2 [L,QSA] # /blog/slug-del-post → post.php?slug=slug-del-post RewriteRule ^([a-z0-9-]+)/?$ post.php?slug=$1 [L,QSA]