¿Cómo adaptar URL amigable o una condición que muestra siempre la información de la pagina principal?

Tengo la siguiente regla .htaccess

<IfModule mod_rewrite.c> Options -Multiviews RewriteEngine On RewriteBase /web RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$   index.php?url=$  1 [QSA,L] </IfModule> 

Que solo permite acceder al archivo existente es decir, si yo en el directorio web/ tengo los archivos demo.php, prueba.php, detail.php

Yo puedo acceder a cada información diferente que existe en esos archivos site.com/prueba.php pero si intento acceder aún archivo que no existe en el directorio me invento por ejemplo site.com/archivoquenoexiste.php este me va mostrar la información del archivo index.php y así sucesivamente siempre me va mostrar la información del archivo index.php cuando no existe el archivo que se intenta acceder.

Hasta ahí perfecto todo, pero mi problema es el siguiente necesito poder agregar las URL amigables a los productos, tengo la siguiente condición

RewriteRule ^ - [QSA,L] RewriteRule ^(.*[^/]$  ) $  1/ [R,QSA] RewriteCond %{REQUEST_URI} assets/(css|fonts|js|img)/(.+)$   RewriteRule ^(.*)$   assets/%1/%2 [L,R] RewriteRule ^([a-zA-Z0-9-/]+)$   detail.php?id=$  1 

Pero no me permite acceder al contenido de una URL amigable site.com/producto-con-url-amigable/ al intentarlo me muestra la información del archivo index.php

¿Cómo puedo adaptar las URL amigables a la condición .htaccess existente?