Je veux que les gens tapent http://www.myweb.com/like/1234456 redirigera vers http://www.myweb.com/item.php?itemid=1234456
J'ai écrit quelque chose comme ça dans la config mais ça ne marche pas.
location = ^~/like/ {
rewrite ^1234456 ../likeitem.php?item=1234456break;
return 403;
}
c'est juste un test. Je n'ai pas encore utilisé la correspondance $.
Je redémarre aussi mon serveur ngnix mais quand même .. il ne fait pas la redirection.
Le code ci-dessus ne fonctionnera pas en raison d'un $ manquant et d'une mauvaise utilisation de la commande de retour.
Le code ci-dessous fonctionne avec Nginx, y compris la version 0.8.54.
Le format ci-dessous est:
Ils doivent être à l'intérieur 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;
Complexe et plus loin
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;
Essaye ça,
server {
server_name www.myweb.com;
rewrite ^/like/(.*) http://www.myweb.com/item.php?itemid=$1 permanent;
}