O regex ^/users*$
provavelmente não corresponde ao que você espera que corresponda. Algo como ^/users.*$
ou ^/users
será muito mais abrangente.
Eu tenho um problema com uma diretiva de localização do Nginx. Eu preciso ser capaz de enviar qualquer URI através do fastcgi para que ele acabe em um framework PHP. Mas também quero configurar uma regra na qual qualquer URI iniciado por / users seja redirecionado (digamos que o link ). Então é assim que eu estou fazendo isso:
location ~* ^/users*$ {
rewrite ^ http://www.google.com? permanent;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_intercept_errors on; # to support 404s for PHP files not found
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Eu posso ir para qualquer URL e ele irá enviá-lo através do framework PHP que estou usando, então essa parte funciona. No entanto, o redirecionamento / users * não funciona. Se eu comentar a segunda direção de localização (para os arquivos PHP), o / users * redirect funciona, mas na verdade faz o download do index.php como um arquivo antes de redirecionar para link .
Como posso fazer isso funcionar como planejado?
O regex ^/users*$
provavelmente não corresponde ao que você espera que corresponda. Algo como ^/users.*$
ou ^/users
será muito mais abrangente.
Tags nginx