'htaccess match after ~ and pass as url parameter

i want rewrite my url with htaccess. So, i want for example that

https://sample.com/~X6y2 has a match and it passes all behind the '~' as parameter to https://sample.com/req.php?id=[here]

is it possible with the '~'-character? so, if not, i need an alternative. Maybe '@'-Charakter, like tiktok.

So, it should match e.g. https://sample.com/~AZaz09, https://sample.com/~0123

but not https://sample.com/0123, https://sample.com/AZaz09, https://sample.com/XY/~Z1234,...

I've tried several regex but nothing has provided the desired function :(

Best of these is (but not working, idk why):

RewriteEngine on

RewriteRule ^.*\/[\~]([a-z][^.]*)$ req.php?id=$1 [NC,L]

I'm new to regex and htaccess, so it's a bit difficult for me. I would be grateful if someone would provide a working htaccess including regex. Thx ✌🏼️



Solution 1:[1]

You want this solution

Check this solution Demo: https://regex101.com/r/GJPZym/1

Solution 2:[2]

After a lot of trying, I've found a solution that is workin just fine.

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*[\~]([A-Za-z0-9_-]*)$ req.php?id=$1 [L,NC]

where ~ can be replaced with anything u want :)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Abimanyu
Solution 2 VO1DZERO