文章目录
- 禁止访问 runtime 和 application 目录
- rewrite 对 URL 进行重写或重定向
- 301重定向
- root 静态资源路径处理
- alias 路径映射
- try_files 伪静态规则
- Nginx 配置有许多其他常见的场景和使用方式
- 完结
禁止访问 runtime 和 application 目录
location ~* (runtime|application)/{
return 403;
}
这部分的作用是拦截对 runtime 和 application 目录的访问,并返回 403 Forbidden(禁止访问)状态码。
location ~* (runtime|application)/:这是一个正则匹配规则,~* 表示不区分大小写地匹配路径。(runtime|application) 是一个正则表达式,匹配 runtime 或 application 这两个字符串后跟 / 的路径。所以,任何以 runtime/ 或 application/ 开头的请求都会被匹配到。
return 403;:当请求匹配到这个 location 时,Nginx 会返回 HTTP 状态码 403,意味着请求被禁止访问。
总结:此配置的目的是阻止访问 runtime 和 application 目录,通常这些目录是应用的内部目录,不应该被外部用户访问。
rewrite 对 URL 进行重写或重定向
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
这部分是伪静态 URL 的重写规则,通常用于将原本的动态 URL 重写成伪静态形式。
location /:表示所有根目录下的请求都进入这个 location 块中。
if (!-e $request_filename)
:这个条件判断用来检查请求的文件是否存在。如果请求的文件在服务器上不存在($request_filename
是请求的文件路径),则进入 rewrite 规则。!-e
表示文件不存在。
rewrite ^(.*)$ /index.php?s=$1 last;
:如果请求的文件不存在,就进行 URL 重写。这里使用正则表达式 ^(.*)$
来匹配整个请求路径,并将其作为参数传递给