nginx 伪静态 $args
时间: 2023-09-11 07:04:10 浏览: 108
在 Nginx 中,$args 是一个内置变量,用于获取请求 URL 中的所有参数。伪静态就是将动态生成的 URL 通过 Nginx 的 rewrite 功能转换成静态 URL,这样可以提高网站的访问速度和搜索引擎的收录率。
在伪静态中,$args 可以用于获取 URL 中的参数,例如:
```
location / {
rewrite ^/article/(\d+)$ /article.php?id=$1&$args last;
}
```
上述配置将 /article/123 转换成 /article.php?id=123,同时保留 URL 中的其他参数。这样,当用户访问 /article/123?name=John 时,Nginx 将转发请求到 /article.php?id=123&name=John。
需要注意的是,在伪静态中使用 $args 变量时,需要将其放在 rewrite 规则的末尾,以保留 URL 中的其他参数。
相关问题
location / { try_files $uri /index.php$is_args$args; }转换成Apache的伪静态
这个 Nginx 配置语句的意思是,当浏览器请求一个路径时,服务器会尝试使用这个路径读取文件。如果文件存在,则返回该文件;如果文件不存在,则返回 index.php 文件。
要将其转换为 Apache 的伪静态,可以使用以下配置:
```
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php [L]
```
这意味着,当浏览器请求一个路径时,服务器会检查该路径是否对应一个已存在的文件。如果文件不存在,则将请求重定向到 index.php 文件。
nginx 伪静态规则写一个,错误页面自动 跳转到 index.php
可以尝试以下伪静态规则:
```
location / {
try_files $uri $uri/ /index.php?$args;
}
error_page 404 /index.php;
```
上述规则中,`try_files`指令会检查请求的文件是否存在,如果存在则直接返回,否则按顺序尝试添加斜杠、添加 `index.php` 后缀等方式查找。最终如果仍然找不到,则会跳转到 `index.php` 页面处理。
而 `error_page` 指令则会将 404 错误页面重定向到 `index.php` 页面处理。
阅读全文