手动阀

Good Luck To You!

Nginx伪静态配置和常用Rewrite伪静态规则集锦

Nginx 是一个高性能的 HTTP 和反向代理服务器,广泛用于 Web 服务,伪静态配置是指通过 Nginx 的配置实现 URL 重写,使得用户访问的 URL 看起来更友好,而实际上可能指向不同的文件或脚本。

以下是一些常用的 Nginx 伪静态配置和 Rewrite 规则集锦:

基本伪静态配置

1、/index.php?id=123 重写为/123

location / {
    rewrite ^/(\d+)$ /index.php?id=$1 last;
}

2、/category/123 重写为/category.php?id=123

location /category/ {
    rewrite ^/category/(\d+)$ /category.php?id=$1 last;
}

3、/user/profile 重写为/user.php?action=profile

location /user/ {
    rewrite ^/user/(.*)$ /user.php?action=$1 last;
}

常用 Rewrite 伪静态规则集锦

1、去除 URL 中的www 前缀

server {
    server_name www.example.com;
    return 301 $scheme://example.com$request_uri;
}

2、将所有请求重定向到 HTTPS

server {
    listen 80;
    server_name example.com;
    return 301 https://$server_name$request_uri;
}

3、/oldpage 重定向到/newpage

location = /oldpage {
    return 301 /newpage;
}

4、/olddirectory/ 重定向到/newdirectory/

location /olddirectory/ {
    return 301 /newdirectory/;
}

5、/file.html 重定向到/newfile.html

location = /file.html {
    return 301 /newfile.html;
}

6、/oldscript.php 重写为/newscript.php

location = /oldscript.php {
    rewrite ^ /newscript.php last;
}

7、/articles/2023/title 重写为/article.php?year=2023&title=title

location /articles/ {
    rewrite ^/articles/(\d{4})/(.*)$ /article.php?year=$1&title=$2 last;
}

8、/search?q=keyword 重写为/search/keyword

location /search {
    rewrite ^/search\?q=(.*)$ /search/$1 last;
}

9、/category/subcategory 重写为/category.php?subcategory=subcategory

location /category/ {
    rewrite ^/category/(.*)$ /category.php?subcategory=$1 last;
}

10、/user/profile 重写为/user.php?action=profile

location /user/ {
    rewrite ^/user/(.*)$ /user.php?action=$1 last;
}

注意事项

last 表示完成重写后停止处理后续的 rewrite 指令。

break 表示完成重写后继续处理后续的 rewrite 指令。

redirect 表示返回临时重定向(HTTP 302)。

permanent 表示返回永久重定向(HTTP 301)。

这些规则可以根据具体需求进行调整和扩展,希望这些示例对你有所帮助!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.