通过NGINX阻止URL中的唯一散列

我需要通过nginx来阻止URL内的哈希。 需要被阻止的URL是

http://mp3string.com/video/Kill-My-DeMonZ---Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)[email protected]%EF%BB%BF/mbqQMZXYL08` 

现在,如果您看到URL,那么需要通过nginx来阻止唯一的散列“mbqQMZXYL08”。

我已经尝试通过添加到服务器块来阻止URL,但它不工作。

  RewriteRule ^video/Kill-My-DeMonZ---Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)[email protected]%EF%BB%BF/mbqQMZXYL08 - [F] 

在我的网站上,每当有用户打开一首歌曲时,它都有一个独特的散列,因为它是一个mp3网站,而非网站上的歌曲,我有时会让DMCA删除这个url。

我在我的服务器块中使用的redirect:

  rewrite ^/mp3/([0-9]+)/([^/]*)/([^/]*)(/?)+$ /?do=song&source=$1&title=$2&id=$3 last; rewrite ^/video/([^/]*)/([^/]*)(/?)+$ /?do=video&id=$2&title=$1 last; rewrite ^/search.html(/?)+$ /?do=search&$args last; rewrite ^/embed/([0-9]+)/([^/]*)/([^/]*)(/?)+$ /embed.php?source=$1&title=$2&id=$3&$args last; rewrite ^/logout(/?)+$ /?do=logout last; rewrite ^/settings(/?)+$ /?do=user last; rewrite ^/settings(/?)+$ /?do=user last; rewrite ^/playlist/edit/([0-9]+)(/?)+$ /?do=edit_playlist&id=$1 last; rewrite ^/playlist/([0-9]+)(/?)+$ /?do=playlist&id=$1 last; rewrite ^/playlists(/?)+$ /?do=playlists last; rewrite ^/playlists/([0-9]+)(/?)+$ /?do=playlists&p=$1 last; rewrite ^/([a-zA-Z0-9_-]+)(/?)$ /?do=profile&username=$1 last; rewrite ^/([a-zA-Z0-9_-]+)/favorites(/?)$ /?do=profile&username=$1&action=favorites last; rewrite ^/([a-zA-Z0-9_-]+)/playlists(/?)$ /?do=profile&username=$1&action=playlists last; 

你的URI似乎被打破了,或者它包含了奇怪的符号。 我不确定它是否是HTTP有效的。 我会尽量避免这种病态的URI格式。

但是,如果它是有效的,那么

location ~* .*mbqQMZXYL08 { return 403; break; }

应该做的伎俩。