Home >System Tutorial >LINUX >Differences in how Nginx implements 301 redirection methods
There are three common 301 jumps under Nginx, although they can all achieve the same purpose. However, there are still differences in the three writing methods. The main difference is in the performance of regular matching.
First method: Use the rewrite command to match all URIs through regular expressions and then remove the first / (backslash) at the beginning.
rewrite ^/(.*)$ https://www.hi-linux.com/$1;
Second: Also use the rewrite command, but the difference is that all URIs are matched through the $request_uri variable.
rewrite ^ https://www.hi-linux.com$request_uri? permanent;
The advantage of writing this way is that it saves the process of removing the first backslash at the beginning, and the performance of regular matching is better.
Third method: Use the return command to directly tell Nginx that this is a 301 redirect and grab the specified URI through the 301 status code and $request_uri parameter.
return 301 https://www.hi-linux.com$request_uri;
This method is the best in terms of performance, because the rewrite directive has many writing methods and rules. Only after all regular matches are executed, Nginx will know that this is a 301 permanent redirect.
Through the above three writing methods, we can see that the return instruction has more advantages in performance than the rewrite instruction in 301 jumps. Although the performance difference between the several writing methods is not big when the number of visits is not large, a small optimization can also play a big role in improving the performance of the business system when there is a large number of visits!
The above is the detailed content of Differences in how Nginx implements 301 redirection methods. For more information, please follow other related articles on the PHP Chinese website!