REQUEST_URI htaccess nginx

1

htaccess para nginx reescrever ajuda de conversão

RewriteEngine On
RewriteCond %{REQUEST_URI} apiv01
RewriteRule ^(.*)$ api.php?params=$1 [NC]

Eu quero que, quando o acesso for link , possa ser exibido

    {"header":{"code":"401","message":"wrong token"}}

Eu usei a configuração do anilcetin assim:

location /hospital_project {
if ($uri ~ "apiv01"){
        set $rule_0 1$rule_0;
        }
if ($rule_0 = "1"){
        rewrite ^/(.*)$ /hospital_project/api.php?params=$1;
        }

}

Também usei a configuração do link assim:

location /hospital_project {
  rewrite apiv01 /hospital_project/api.php?params=$1;
}

Mas quando eu acesso link , a saída é igual a link (sem efeito)

Normal se eu estiver usando o link

--- Editar eu também uso

localização / hospital_project / apiv01 {     try_files $ uri $ uri / /hospital_project/api.php?params=$request_uri; } mas também sem efeito

isso resolve usando proxy reverso para o apache2 assim

location /hospital_project {

proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8888;
}

mas ainda estou curioso para usar reescrita no nginx

    
por Tohir 13.12.2017 / 07:16

2 respostas

1

O nginx implementa os padrões do controlador frontal de uma maneira mais simples e eficaz que o Apache. A maneira nginx se parece com isso no seu caso:

location ~ ^/(hospital_project/apiv01.+)$ {
    try_files $uri $uri/ /hospital_project/api.php?params=$1;
}

Você só adiciona este local no topo da configuração do nginx. Você não precisa usar as diretivas if ou rewrite .

    
por 13.12.2017 / 08:05
-1

desculpe, significa que eu uso;

location /hospital_project/ {
  rewrite apiv01 /hospital_project/api.php?params=$1;
}

mas sem efeito

eu também uso

location /hospital_project/apiv01 {
    try_files $uri $uri/ /hospital_project/api.php?params=$request_uri;
}

mas também sem efeito

isso resolve usando proxy reverso para o apache2 assim

    location /hospital_project {

    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8888;
    }

mas ainda estou curioso para usar reescrita no nginx

    
por 13.12.2017 / 08:47