How to write a url rewrite in nginx?

前端 未结 2 1101
北恋
北恋 2020-11-28 06:13

I want people type in http://www.myweb.com/like/1234456 will redirect to http://www.myweb.com/item.php?itemid=1234456

I wrote something like this in the config but

相关标签:
2条回答
  • 2020-11-28 06:42

    Try this,

    server {
      server_name www.myweb.com;
      rewrite ^/like/(.*) http://www.myweb.com/item.php?itemid=$1 permanent;
    }
    
    0 讨论(0)
  • 2020-11-28 06:44

    The code above will not work because of a missing $ and poor use of the return command.

    The code below works with Nginx, including version 0.8.54.

    Format below is :

    1. DesiredURL
    2. Actual URL
    3. Nginx_Rule

    They must be inside 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;
    

    Complex and further

    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;
    
    0 讨论(0)
提交回复
热议问题