如何写在Nginx的URL重写?

我希望人们inputhttp://www.myweb.com/like/1234456将redirect到http://www.myweb.com/item.php?itemid=1234456

我在configuration文件中写了这样的东西,但是不起作用。

location = ^~/like/ { rewrite ^1234456 ../likeitem.php?item=1234456break; return 403; } 

这只是一个testing。 我还没有使用$匹配。

我也重新启动我的ngnix服务器,但仍然..它不做redirect。

上面的代码将不起作用,因为缺少$和返回命令使用不当。 上面的代码适用于Nginx,包括0.8.54版本。

下面的格式是:DesiredURL实际的URL Nginx_Rule

他们必须在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; 

复杂和进一步

 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; 

尝试这个,

 server { server_name www.myweb.com; rewrite ^/like/(.*) http://www.myweb.com/item.php?itemid=$1 permanent; }