Primeira coisa: ^~
usage não é necessário se você não tiver nenhum regex correspondente a esse padrão antes do local que está definindo. O que você quer fazer é basicamente ter URIs apropriados e reescrevê-los para passar um argumento para o seu aplicativo php. Nesse caso, a solução apropriada está usando reescrever.
A coisa que você perdeu lá é que o URI com o qual você está combinando é o primeiro argumento para a diretiva reescrever, portanto, obviamente, ele não pode corresponder a ^/v/index.php?q=(.*)$
, pois é igual a /v/TOKEN_EMAILED_TO_CLIENT
. O segundo argumento para a diretiva reescrever é o URI para reescrever.
Então, se você tiver um local desse tipo que manipule .php
files:
location ~ \.php$ {
[ ... ]
}
Então você precisa deste bloco de localização:
location /v/ {
rewrite ^/v/(.*)$ /v/index.php?t=$1? last;
}