2010-12-01 203 views

回答

47

上面的代码将不会工作,因为缺少$和使用return命令较差。上面的代码适用于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; 
+1

@其他大声笑赞赏的客气话。大多数信息都在Nginx Wiki上,并且缓慢地变化。nginx似乎在文档和资源方面变得更加统一和集中。 – TheBlackBenzKid 2013-03-25 10:00:22

2

试试这个,

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