Hint: Rewrite ends with semicolon and uses flags like permanent [OK]
Common Mistakes:
Omitting the semicolon at the end
Using numeric flags instead of keywords
Missing caret (^) in regex pattern
3. Given this nginx config snippet:
rewrite ^/blog/(.*)$ /newblog/$1 last;
What happens when a user visits /blog/article1?
medium
A. The user is redirected to /newblog/article1 with a 301 status
B. The URL changes to /newblog/article1 and nginx restarts processing
C. The URL stays /blog/article1 but content from /newblog/article1 is served
D. An error occurs because 'last' is an invalid flag
Solution
Step 1: Understand the 'last' flag in rewrite
The 'last' flag performs an internal rewrite: nginx changes the URI internally and restarts location processing with the new URI. The browser URL remains unchanged.
Step 2: Apply to the example URL
Visiting /blog/article1 matches the pattern, rewrites internally to /newblog/article1, and serves content from there without changing the visible URL.
Final Answer:
The URL stays /blog/article1 but content from /newblog/article1 is served -> Option C
Quick Check:
'last' flag = internal rewrite, URL unchanged [OK]
Hint: 'last' flag restarts processing with new URL [OK]
Common Mistakes:
Confusing 'last' with external redirect
Thinking URL visible to user changes
Assuming 'last' flag causes error
4. Identify the error in this nginx rewrite directive:
rewrite ^/old/(.*)$ /new/$1 permanent
medium
A. Missing semicolon at the end of the directive
B. Incorrect regex pattern syntax
C. Invalid flag 'permanent' used
D. Rewrite directive cannot use variables like $1
Solution
Step 1: Check syntax completeness
Every nginx directive must end with a semicolon (;). This line is missing it.
Step 2: Validate other parts
The regex pattern and flag 'permanent' are correct, and $1 is valid for capturing groups.
Final Answer:
Missing semicolon at the end of the directive -> Option A
Quick Check:
Missing semicolon = syntax error [OK]
Hint: Always end rewrite lines with a semicolon [OK]
Common Mistakes:
Forgetting semicolon at line end
Misunderstanding regex syntax
Thinking $1 is invalid in rewrite
5. You want to redirect all requests from /shop/ to /store/ permanently, but only if the URL ends exactly with /shop/ (no extra path after). Which rewrite directive achieves this?
hard
A. rewrite ^/shop/(.*)$ /store/$1 permanent;
B. rewrite ^/shop$ /store/ permanent;
C. rewrite /shop/ /store/ permanent;
D. rewrite ^/shop/$ /store/ permanent;
Solution
Step 1: Match only exact /shop/ URL
The regex ^/shop/$ matches exactly '/shop/' with nothing after it.
Step 2: Redirect permanently to /store/
The replacement is /store/ with the 'permanent' flag for 301 redirect.
Final Answer:
rewrite ^/shop/$ /store/ permanent; -> Option D
Quick Check:
Exact match with ^/shop/$ and permanent redirect [OK]
Hint: Use ^ and $ to match exact URL in rewrite [OK]
Common Mistakes:
Using (.*) which matches extra paths
Omitting anchors ^ and $
Incorrect regex without end anchor
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.