0
0
Nginxdevops~20 mins

Rewrite directive in Nginx - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Rewrite Directive Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output status code after applying this rewrite?
Given the following nginx rewrite directive inside a server block:
rewrite ^/oldpath/(.*)$ /newpath/$1 permanent;

What HTTP status code will the client receive when requesting /oldpath/page1?
Nginx
rewrite ^/oldpath/(.*)$ /newpath/$1 permanent;
A301 Moved Permanently
B302 Found
C404 Not Found
D500 Internal Server Error
Attempts:
2 left
💡 Hint
The keyword 'permanent' in rewrite directive sets a specific HTTP status code.
Configuration
intermediate
2:00remaining
Which rewrite rule correctly redirects /blog to /news preserving the rest of the path?
You want to redirect all requests starting with /blog to /news, keeping the rest of the URL path intact. Which rewrite directive achieves this?
Arewrite ^/blog$ /news permanent;
Brewrite /blog /news permanent;
Crewrite ^/blog/(.*)$ /news/$1 permanent;
Drewrite ^/blog/(.*)$ /news permanent;
Attempts:
2 left
💡 Hint
Use a regex to capture the rest of the path and reuse it in the target.
Troubleshoot
advanced
2:00remaining
Why does this rewrite not redirect as expected?
Given this nginx config snippet:
location /test/ {
  rewrite ^/test/(.*)$ /prod/$1;
}

Requests to /test/page do not redirect to /prod/page. Why?
AMissing redirect flag causes internal rewrite, not client redirect
BRegex pattern is incorrect and does not match the URL
CRewrite directive must be outside location blocks
DThe target URL must be absolute including domain
Attempts:
2 left
💡 Hint
Rewrite without flags performs internal rewrite, not external redirect.
🔀 Workflow
advanced
2:00remaining
Order the steps to apply a rewrite rule and test it successfully
Arrange these steps in the correct order to add and verify a rewrite rule in nginx:
A2,1,3,4
B1,2,3,4
C1,3,2,4
D3,1,2,4
Attempts:
2 left
💡 Hint
Always test config before reload, then verify with a request.
Best Practice
expert
2:00remaining
Which rewrite directive is best to permanently redirect and avoid redirect loops?
You want to permanently redirect /old to /new only if the request is exactly /old. Which rewrite directive is best to avoid redirect loops and unnecessary redirects?
Arewrite /old /new permanent;
Brewrite ^/old/(.*)$ /new/$1 permanent;
Crewrite ^/old /new permanent;
Drewrite ^/old$ /new permanent;
Attempts:
2 left
💡 Hint
Match exact path to prevent redirect loops.