当前位置: 首页 > news >正文

网站开发实训基本要求nginx 网站建设

网站开发实训基本要求,nginx 网站建设,如何创建一个个人网站简答题,wordpress模版建站项目背景: 将域名请求从默认的80端口转发到443 ssl。本项目特殊之处是一个端口监听多个域名,某些域名还有跳转到特定的地址。 普通情况: server { listen 80; #默认的80端口,非…

项目背景:

        将域名请求从默认的80端口转发到443 ssl。本项目特殊之处是一个端口监听多个域名,某些域名还有跳转到特定的地址。

普通情况:

        server {
        listen       80;                                    #默认的80端口,非加密通信
        server_name xxx.org.cn;                   #监听的请求域名

        rewrite ^(.*)$ https://${server_name}$1 permanent;   
            }

说明:
rewrite 为固定关键字,表示开始进行rewrite匹配规则。
regex 为 ^/(.*)。 这是一个正则表达式,匹配完整的域名和后面的路径地址。
replacement就是 http://xxx.org.cn/$1 这块了,其中$1是取regex部分()里面的内容。如果匹配成功后跳转到的URL。
flag 就是 permanent,代表永久重定向的含义,即跳转到 http://xxx.org.cn/$1 地址上。

本项目情况:

        Nginx默认的80端口监听多个域名。

        废话不多数,直接贴配置。

 server {
       listen    80; 

        # 同时监听多个域名

       server_name  a.stm.cn;
       server_name  b.stm.cn;
       server_name  c.stm.cn;
       # 实现访问http://a.sdstm.cn 不带URI
       # 自动跳转https://a.sdstm.cn/main/

        # 因为Nginx不支持if判断嵌套,也不支持逻辑或与,设置标识符
       set $flag 0;

        #  判断请求的host,匹配则修改标识符
       if ($host = 'a.sdstm.cn' ){
           set $flag "${flag}1";
       }

        # 判断请求的当前URI,匹配则修改标识符
       if ($document_uri = '/'){
           set $flag "${flag}1";
       }

        # 判断当前标识符的值,匹配则跳转到对应地址
       if ( $flag = '011' ){
          rewrite ^(.*)$ https://$host/main permanent;  
       }

        # 匹配以“stm.cn”为后缀的域名请求,匹配则跳转到对应的https地址
       if ( $host ~ '(stm.cn)$' ){
            rewrite ^(.*)$ https://$host$1 permanent;          #跳转到对应的$host地址
            #rewrite ^(.*)$ https://${server_name}$1 permanent;  #全部跳转到域名a.stm.cn
       }

知识拓展

if (condition) {// ....
}

该指令用来支持条件判断的,并且根据条件判断结果来选择不同的nginx的配置,我们可以在server块或location块中配置该指令。

condition 是布尔值 true/false的含义。

Rewrite 指令可用的全局变量如下:

1. $args: 该变量中存放了请求URL中的请求指令。比如 http://127.0.0.1:3001?arg1=value1&arg2=value2 中的
"arg1=value1&arg2=value2"。
2. $content_length: 该变量中存放了请求头中的Content-length字段。
3. $content_type: 该变量中存放了请求头中的 Content-type字段。
4. $document_root: 该变量中存放了针对当前请求的根路径。
5. $document_uri: 该变量中存放了请求的当前URI, 但是不包括请求指令。比如 http://xxx.abc.com/home/1?arg1=value1&
arg2=value2; 中的 "/home/1"
6. $host: 变量中存放了请求的URL中的主机部分字段,比如http://xxx.abc.com:8080/home中的 xxx.abc.com.
7. $http_host: 该变量与$host唯一区别带有端口号:比如上面的是 xxx.abc.com:8080
8. $http_user_agent: 变量中存放客户端的代理信息。
9. $http_cookie, 该变量中存放客户端的cookie信息。
10. $remote_addr 该变量中存放客户端的地址。
11. $remote_port 该变量中存放了客户端与服务器建立连接的端口号。
12. $remote_user 变量中存放客户端的用户名。
13. $request_body_file 变量中存放了发给后端服务器的本地文件资源的名称
14. $request_method 变量中存放了客户端的请求方式,比如 'GET'、'POST'等。
15. $request_filename 变量中存放了当前请求的资源文件的路径名。
16. $request_uri 变量中存放了当前请求的URI,并且带请求指令。
17. $query_string 和变量$args含义一样。
18. $scheme 变量中存放了客户端请求使用的协议,比如 'http', 'https'等。
19. $server_protocol 变量中存放了客户端请求协议的版本, 比如 'HTTP/1.0'、'HTTP/1.1' 等。
..... 等等

'=' 表示值相同

'~' 表示匹配过程中对大小写敏感。
'~*' 表示匹配过程中对大小写不敏感。
'!~' 如果 '~' 匹配失败时,那么该条件就为true。
'!~*' 如果 '~*' 匹配失败时,那么该条件就为true

'-f' 如果请求的文件存在,那么该条件为true。
'!-f' 如果该文件的目录存在,该文件不存在,那么返回true。如果该文件和目录都不存在,则为false。如果请求的目录不存在,请求的文件存在,也为false。

if (-f $request_filename) {// 判断请求的文件是否存在
}if (!-f $request_filename) {// 判断请求的文件是否不存在
}

 '-d',如果请求的目录存在,则返回true。否则返回false。
 '!-d', 如果请求的目录不存在,但是该请求的上级目录存在,则返回true。如果该上级目录不存在,则返回false

http://www.yayakq.cn/news/673044/

相关文章:

  • 网站空间到期怎么办网站建设的客户需求调查与分析
  • 网站优化分析网站建设报价新鸿儒
  • 百度搜索这个网站为什么这么差可以做基因通路分析的网站
  • 青岛网站建设公司排名深圳网站设计比较好的公司有哪些
  • 石家庄网站快速优化排名石家庄网站建设策划方案
  • 网站运营内容建设方案网站文章来源seo
  • 网站下载不了的视频怎么下载事业单位网站备案
  • 做竞价可以让网站提高快速排名吗江西久久建筑工程有限公司
  • 苏州网络营销网站建设平台大气微电影类网站织梦模板完整版
  • 网站的软文推广创建自己的微信公众号
  • 免费空间网站源码wordpress纯首页
  • 网站平台建设属于什么采购广元市建设局网站
  • 网站多次提交wordpress多站点 文章导入
  • 免费网络爬虫网站高端网站设计培训机构
  • 网站建设免费教程外链seo软件下载
  • 衣服图案设计网站建设工程消防网站
  • 范县网站建设费用如何做网站咨询
  • 做软件赚钱的网站有哪些大连网站建设大连
  • 网站建设需要多少人员成都app制作软件
  • 重庆建筑人员证书查询黑锋网seo
  • 网站维护页面网站如何从后台进入
  • html5网站提示网站流量少的原因
  • wordpress弄个人博客好吗合肥网站排名优化公司哪家好
  • 大连html5网站建设费用宝安网站建设方案外包
  • 网站 建设 后台管理程序做招聘网站的客户想退钱
  • 如何搭建自己的网站免费邮箱登录163登录
  • 网站推广实践内容网站在线支付接口申请
  • 制作旅游网站设计概述如何注册一个设计网站
  • 南阳网站排名公司wordpress 审核文章
  • 不是搜索网站的是找百度公司做网站怎么样