2016-03-19 16 views
1

Ich bin derzeit umleiten meine Stammdomäne in einen Unterordner. Ich möchte jedoch eine Abfragezeichenfolge-URL ausschließen, die für einen Ajax-Aufruf verwendet wird (www.example.com/?act=12). Ich bin mir jedoch nicht sicher, wie dies in nginx zu tun ist.Nginx Ausschließen einer Abfragezeichenfolge-URL von Umleitung

Dies ist meine aktuelle nginx Konfigurationsdatei

server { 
     listen   80; 
     server_name  example.com; 
     return 301  http://www.example.com$request_uri; 

} 

server { 
     listen 80; 
     server_name www.example.com; 
     root /var/www/example.com/public; 

     index index.php index.html; 

     location =/{ 
       return 301 http://www.example.com/it/; 
     } 

     location/{ 
       proxy_pass http://localhost:8080; 
       include /etc/nginx/proxy_params; 
     } 

     location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ { 
       expires 30d; 
     } 

     location ~ /\.ht { 
     deny all; 
    } 
} 

Jede Hilfe geschätzt wird.

Antwort

0

Das kann erreicht werden, indem der evil if Block verwendet wird.

Die Abfragezeichenfolgenargumente werden als Variablen mit dem Präfix $arg_ dargestellt. Wenn Sie müssen nur testen, ob act eingestellt ist, versuchen Sie dies:

location =/{ 
    if ($arg_act) { 
     rewrite^/my/ajax/call last; 
    } 
    return 301 http://www.example.com/it/; 
} 

Wenn Sie für einen bestimmten Wert von $arg_act testen müssen verwenden, um die = Betreiber.

Weitere Informationen finden Sie unter this document.

+0

Danke, das hat perfekt funktioniert. – tcherokee

Verwandte Themen