eso es lo que buscas... la forma normal de confirmar es la header Referer que es la que el navegador usa para indicar desde donde fue solicitado ese recurso...
si tu referer es tu host entonces sirves el recurso, si no lo es, sirves un 301 hacia tu pagina principal, un intermedio para volver al previo o simplemente sirves otra pagina (ya es cosa que decidas como)
ojo,debes entender un poco de regex para entender las condiciones aqui...
por ejemplo
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tupagina.com [NC]
RewriteRule \.(mp3|mp4)$ https://tupagina.com/[NC,R,L]
basicamente lo que hace aqui es en
RewriteCond analiza si el referer es la pagina,
NC es para que se revise case insensitive (No Case), si se cumple (que no sea la pagina) luego el
RewriteRule indica que si alguien sigue ese patron (terminado en .mp3 o .mp4 envie a
https://tupagina.com/ en su lugar,
R indica qque se debe hacer un redirect y
L indica que esta regla termina aquí (en caso que tengas mas reglas)