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 it doesn't work.
location = ^~/like/ { rewrite ^1234456 ../likeitem.php?item=1234456break; return 403; }
this is just a test. I haven't used the $ matching yet.
I also restart my ngnix server but still.. it doesn't do the redirect.
Permanent redirects such as NGINX 301 Redirect simply makes the browser forget the old address entirely and prevents it from attempting to access that address anymore. These redirects are very useful if your content has been permanently moved to a new location, like when you change domain names or servers.
According to nginx documentation, $uri and $document_uri contain the normalized URI whereas the normalization includes URL decoding the URI. Every file requested under /static/ folder will be redirect to another server, in this case example.com.
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 :
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;
Try this,
server { server_name www.myweb.com; rewrite ^/like/(.*) http://www.myweb.com/item.php?itemid=$1 permanent; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With