nignx location index的用法

来源:https://blog.youkuaiyun.com/qq_32331073/article/details/81945134#_10

 

index指令的作用

  • 在前后端分离的基础上,通过Nginx配置,指定网站初始页。
  • 该指令拥有默认值,index index.html ,即,如果没有给出index,默认初始页为index.html

 

在没有给出明确的文件名称,index才会启动,index的作用就是在你没有给出一个明确名称,会自动给你配一个

转载于:https://www.cnblogs.com/laijinquan/p/11590374.html

### Nginx 中 `location` 块内 `rewrite` 指令的用法Nginx 配置中,`rewrite` 指令常用于 URL 重写或跳转逻辑。它可以在 `server` 和 `location` 块中使用,主要用于动态修改请求路径或将用户引导到不同的资源地址[^1]。 #### 1. **基本语法** `rewrite` 指令的基本形式如下: ```nginx rewrite regex replacement [flag]; ``` - `regex`: 正则表达式,用来匹配请求 URI。 - `replacement`: 替换后的目标路径或 URL。 - `[flag]`: 可选标志位,决定重写的动作模式(如立即停止后续规则、返回状态码等)。常见的标志有: - `last`: 结束当前 `rewrite` 流程并进入新的查找阶段。 - `break`: 终止所有 `rewrite` 规则,不再继续处理。 - `redirect`: 返回临时重定向 (HTTP 状态码 302)。 - `permanent`: 返回永久重定向 (HTTP 状态码 301)[^2]。 --- #### 2. **示例配置** ##### 示例 1:基于参数匹配的跳转 假设需求为访问形如 `http://www.xjj.com/100-(100|200)-\d+.html` 的链接时,统一跳转到根目录页面 `http://www.xjj.com`。 以下是完整的配置代码: ```nginx server { listen 80; server_name www.xjj.com; # 定义 locationlocation / { # 使用正则匹配请求 URI if ($request_uri ~* ^/100-(100|200)-(\d+)\.html$) { # 执行重定向操作 rewrite ^(.*)$ http://www.xjj.com permanent; } root html; index index.html index.htm; } } ``` 在此案例中,`if` 判断语句配合正则表达式实现了对特定 URL 的识别,而 `rewrite` 指令完成了永久重定向的功能[^2]。 --- ##### 示例 2:内部路径转换 有时需要将外部可见的 URL 转换成服务器内部的实际文件路径。例如,当用户访问 `/article/id` 时,实际加载的内容来自 `/articles/id/index.html`。 配置如下: ```nginx server { listen 80; server_name example.com; location /article/ { # 将 /article/<id> 映射为 /articles/<id>/index.html rewrite ^/article/(.*)$ /articles/$1/index.html last; } location /articles/ { root /var/www/html; } } ``` 这里的关键在于 `rewrite` 指令通过替换规则改变了请求路径,并结合 `last` 标志确保新路径能够被正确解析[^1]。 --- ##### 示例 3:带查询参数的重写 对于包含查询字符串的 URL,可能需要提取其中的部分作为新路径的一部分。例如,将 `/search?q=query_string` 转换为 `/results/query_string`。 配置如下: ```nginx server { listen 80; server_name search.example.com; location /search { # 提取 q 参数值并拼接到新路径中 if ($args ~* q=([^&]+)) { set $query $1; rewrite ^.*$ /results/$query? break; } } location /results/ { root /var/www/search; } } ``` 在这个例子中,`set` 指令辅助提取了查询参数,随后由 `rewrite` 实现了路径重构[^2]。 --- #### 3. **注意事项** - 当多个 `rewrite` 规则共存时,需注意其执行顺序以及是否会产生循环调用问题。 - 若涉及敏感数据传输,应优先考虑 HTTPS 协议以保障信息安全。 - 对于复杂的 URL 改造场景,推荐先测试单条规则再逐步扩展整体结构。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值