url-rewriting - proxy_pass - nginx rewrite url proxy
¿Cómo escribir una reescritura de URL en nginx? (2)
Quiero que la gente escriba en http://www.myweb.com/like/1234456 y se redirigirá a http://www.myweb.com/item.php?itemid=1234456
Escribí algo así en la configuración, pero no funciona.
location = ^~/like/ {
rewrite ^1234456 ../likeitem.php?item=1234456break;
return 403;
}
esto es solo una prueba. No he usado el $ matching todavía.
También reinicio mi servidor ngnix pero todavía ... no hace la redirección.
El código anterior no funcionará debido a la falta $ y el mal uso del comando de devolución. El código anterior funciona con Nginx, incluida la versión 0.8.54.
El siguiente formato es: DesiredURL URL real Nginx_Rule
Deben estar dentro de la location / {}
http://example.com/notes/343
http://example.com/notes.php?id=343
rewrite ^/notes/(.*)$ /notes.php?id=$1 last;
http://example.com/users/BlackBenzKid
http://example.com/user.php?username=BlackBenzKid
rewrite ^/users/(.*)$ /user.php?username=$1 last;
http://example.com/top
http://example.com/top.php
rewrite ^/top?$ /top.php last;
Complejo y más
http://example.com/users/BlackBenzKid/gallery
http://example.com/user.php?username=BlackBenzKid&page=gallery
rewrite ^/users/(.*)/gallery$ /user.php?username=$1&page=gallery last;
Prueba esto,
server {
server_name www.myweb.com;
rewrite ^/like/(.*) http://www.myweb.com/item.php?itemid=$1 permanent;
}