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

做新闻类网站还有市场吗0453牡丹江信息网官网

做新闻类网站还有市场吗,0453牡丹江信息网官网,火速网站建设,网页制作与网站建设》在线作业 答案十二 nginx 地址重写 rewrite 1 什么是Rewrite Rewrite对称URL Rewrite#xff0c;即URL重写#xff0c;就是把传入Web的请求重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化#xff0c;是将动态页面显示为静态页面方式的一种技术。比如 http://www.123.com…十二 nginx 地址重写 rewrite 1 什么是Rewrite Rewrite对称URL Rewrite即URL重写就是把传入Web的请求重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化是将动态页面显示为静态页面方式的一种技术。比如 http://www.123.com/news/index.php?id123 使用URLRewrite 转换后可以显示为 http://www.123 .com/news/123.html对于追求完美主义的网站设计师就算是网页的地址也希望看起来尽量简洁明快。 理论上搜索引擎更喜欢静态页面形式的网页搜索引擎对静态页面的评分一般要高于动态页面。所以UrlRewrite可以让我们网站的网页更容易被搜索引擎所收录。从安全角度上讲如果在URL中暴露太多的参数无疑会造成一定量的信息泄漏可能会被一些黑客 利用对你的系统造成一定的破坏所以静态化的URL地址可以给我们带来更高的安全性。实现网站地址跳转例如用户访问360buy.com将其跳转到jd.com。例如当用户访问tianyun.com的 80端口时将其跳转到443端口。 2 Rewrite 相关指令 Nginx Rewrite 相关指令有 if 、rewrite、set、return 2.1、if 语句 应用环境 serverlocation语法 if (condition) { … } if 可以支持如下条件判断匹配符号 ~ 正则匹配 (区分大小写) ~* 正则匹配 (不区分大小写) !~ 正则不匹配 (区分大小写) !~* 正则不匹配 (不区分大小写) -f 和!-f 用来判断是否存在文件 -d 和!-d 用来判断是否存在目录 -e 和!-e 用来判断是否存在文件或目录 -x 和!-x 用来判断文件是否可执行在匹配过程中可以引用一些Nginx的全局变量 $args 请求中的参数; $document_root 针对当前请求的根路径设置值; $host 请求信息中的Host如果请求中没有Host行则等于设置的服务器名; $limit_rate 对连接速率的限制; $request_method 请求的方法比如GET、POST等; $remote_addr 客户端地址; $remote_port 客户端端口号; $remote_user 客户端用户名认证用; $request_filename 当前请求的文件路径名带网站的主目录/usr/local/nginx/html/images/a.jpg $request_uri 当前请求的文件路径名不带网站的主目录/images/a.jpg $query_string 与$args相同; $scheme 用的协议比如http或者是https $server_protocol 请求的协议版本HTTP/1.0或HTTP/1.1; $server_addr 服务器地址如果没有用listen指明服务器地址使用这个变量将发起一次系统调用以取得地址(造成资源浪费); $server_name 请求到达的服务器名; $document_uri 与$uri一样URI地址; $server_port 请求到达的服务器端口号;2.2、Rewrite flag ​ rewrite 指令根据表达式来重定向URI或者修改字符串。 ​ 可以应用于server,location, if环境下每行rewrite指令最后跟一个flag标记支持的flag标记有 last 相当于Apache里的[L]标记表示完成rewrite。默认为last。 break 本条规则匹配完成后终止匹配不再匹配后面的规则 redirect 返回302临时重定向浏览器地址会显示跳转后的URL地址 permanent 返回301永久重定向浏览器地址会显示跳转后URL地址​ redirect 和 permanent 区别则是返回的不同方式的重定向对于客户端来说一般状态下是没有区别的。而对于搜索引擎相对来说301的重定向更加友好如果我们把一个地址采用301跳转方式跳转的话搜索引擎会把老地址的相关信息带到新地址同时在搜索引擎索引库中彻底废弃掉原先的老地址。使用302重定向时搜索引擎(特别是google)有时会查看跳转前后哪个网址更直观然后决定显示哪个如果它觉的跳转前的URL更好的话也许地址栏不会更改那么很有可能出现URL劫持的现像。在做URI重写时有时会发现URI中含有相关参数如果需要将这些参数保存下来并且在重写过程中重新引用可以用到 () 和 $N 的方式来解决。 2.3、Rewrite匹配参考示例 # 本地解析host文件 例1 # http://www.testpm.com/a/1.html http://www.testpm.com/b/2.htmllocation /a {root /html;index 1.html index.htm;rewrite .* /b/2.html permanent;}location /b {root /html;index 2.html index.htm;}例2 # http://www.testpm.com/2019/a/1.html http://www.testpm.com/2018/a/1.htmllocation /2019/a {root /var/www/html;index 1.html index.hml;rewrite ^/2019/(.*)$ /2018/$1 permanent;}location /2018/a {root /var/www/html;index 1.html index.htl;}例3 # http://www.lanfw1.com/a/1.html http://jd.comlocation /a {root /html;if ($host ~* www.qf.com ) {rewrite .* http://jd.com permanent;}}例4 # http://www.lanfw1.com/a/1.html http://jd.com/a/1.html location /a {root /html;if ( $host ~* testpm.com ){rewrite .* http://jd.com$request_uri permanent;}}例5: 在访问目录后添加/ (如果目录后已有/则不加/) # http://www.lanfw1.com/a/b/c # $1: /a/b/ # $2: c # http://$host$1$2$3/ location /a/b/c {if (-d $request_filename) {rewrite ^(.*)([^/])$ http://$host$1$2/ permanent;}}例6 # http://www.lanfw.com/login/lanfw.html http://www.lanfw.com/reg/login.html?userlanfwlocation /login {root /usr/share/nginx/html;rewrite ^/login/(.*)\.html$ http://$host/reg/login.html?user$1;}location /reg {root /usr/share/nginx/html;index login.html;}例7 #http://www.lanfw.com/qf/11-22-33/1.html http://www.lanfw.com/qf/11/22/33/1.html location /qf {rewrite ^/qf/([0-9])-([0-9])-([0-9])(.*)$ /qf/$1/$2/$3$4 permanent;}location /qf/11/22/33 {root /html;index 1.html;}2.4、set 指令 set 指令是用于定义一个变量并且赋值 应用环境: server,location,if应用示例 例8 #http://alice.testpm.com http://www.testpm.com/alice #http://jack.testpm.com http://www.testpm.com/jack[rootnginx-server conf.d]# cd /usr/share/nginx/html/ [rootnginx-server html]# mkdir jack alice [rootnginx-server html]# echo jack.. jack/index.html [rootnginx-server html]# echo alice.. alice/index.htmla. DNS实现泛解析 * IN A 网站IP # 或者本地解析域名host文件 10.0.105.202 www.testpm.com 10.0.105.202 alice.testpm.com 10.0.105.202 jack.testpm.com# 编辑配置文件: server {listen 80;server_name www.testpm.com;location / {root /usr/share/nginx/html;index index.html index.htm;if ( $host ~* ^www.testpm.com$) {break;}if ( $host ~* ^(.*)\.testpm\.com$ ) {set $user $1;rewrite .* http://www.testpm.com/$user permanent;}}location /jack {root /usr/share/nginx/html;index index.html index.hml;}location /alice {root /usr/share/nginx/html;index index.html index.hml;} }2.5、return 指令 return 指令用于返回状态码给客户端 server,location,if应用示例: 例9如果访问的.sh结尾的文件则返回403操作拒绝错误 server {listen 80;server_name www.testpm.cn;#access_log /var/log/nginx/http_access.log main;location / {root /usr/share/nginx/html;index index.html index.htm;}location ~* \.sh$ {return 403;} }例10 80 443 80转443端口 server {listen 80;server_name www.testpm.cn;access_log /var/log/nginx/http_access.log main;return 301 https://www.testpm.cn$request_uri; }server {listen 443 ssl;server_name www.testpm.cn;access_log /var/log/nginx/https_access.log main;#ssl on;ssl_certificate /etc/nginx/cert/2447549_www.testpm.cn.pem;ssl_certificate_key /etc/nginx/cert/2447549_www.testpm.cn.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ALL:!ADH:!EXPORT56:RC4RSA:HIGH:MEDIUM:LOW:SSLv2:EXP;ssl_prefer_server_ciphers on;location / {root /usr/share/nginx/html;index index.html index.htm;} }[rootnginx-server ~]# curl -I http://www.testpm.cn HTTP/1.1 301 Moved Permanently Server: nginx/1.16.0 Date: Wed, 03 Jul 2019 13:52:30 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive Location: https://www.testpm.cn/3 last break详解 [rootlocalhost test]# cat /etc/nginx/conf.d/last_break.conf server {listen 80;server_name localhost;access_log /var/log/nginx/last.access.log main;location / {root /usr/share/nginx/html;index index.html index.htm;}location /break/ {root /usr/share/nginx/html;rewrite .* /test/break.html break;}location /last/ {root /usr/share/nginx/html;rewrite .* /test/last.html last;}location /test/ {root /usr/share/nginx/html;rewrite .* /test/test.html break;}} [rootlocalhost conf.d]# cd /usr/share/nginx/html/ [rootlocalhost html]# mkdir test [rootlocalhost html]# echo last test/last.html [rootlocalhost html]# echo break test/break.html [rootlocalhost html]# echo test test/test.htmlhttp://10.0.105.196/break/break.html http://10.0.105.196/last/last.html​ 注意 last 标记在本条 rewrite 规则执行完后会对其所在的 server { … } 标签重新发起请求;break 标记则在本条规则匹配完成后停止匹配不再做后续的匹配使用 alias 指令时必须使用 last使用 proxy_pass 指令时,则必须使用break。 4 Nginx 的 https ( rewrite ) server {listen 80;server_name *.vip9999.top vip9999.top;if ($host ~* ^www.vip9999.top$|^vip9999.top$ ) {return 301 https://www.vip9999.top$request_uri;}if ($host ~* ^(.*).vip9999.top$ ) {set $user $1;return 301 https://www.vip9999.top/$user;}}# Settings for a TLS enabled server.server {listen 443 ssl;server_name www.vip9999.top;location / {root /usr/share/nginx/html;index index.php index.html;}#pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ \.php$ {root /usr/share/nginx/html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}ssl on;ssl_certificate cert/214025315060640.pem;ssl_certificate_key cert/214025315060640.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 10m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;}5 Apache 的 https ( rewrite ) [rootlocalhost ~]# yum -y install httpd mod_ssl [rootlocalhost ~]# vim /etc/httpd/conf.d/vip9999.conf例4
http://www.tj-hxxt.cn/news/133004.html

相关文章:

  • 上海技术做网站编程软件python下载
  • 用php做网站的新闻做个app商城类的要多少钱
  • 乐山做网站cms 类网站
  • 成都淮州新城建设投资有限公司网站注册深圳公司不在深圳经营
  • 做外贸网站怎么访问外国网站网站建设瀑布流
  • 育贤网站建设网站做简介
  • icann 域名注册网站乐享黔程是什么公司
  • 汉口江岸区城市建设局网站宁波网站建设小程序开发
  • 长沙网站推广平台易企秀怎么制作
  • 做网站的语小程序专区
  • 游戏网站域名免费网站制作器
  • 智能网站建设公司排名免费的行情网站app大全下载
  • 集团网站手机版做前端常用的网站及软件
  • 专门做设计的网站有哪些企业门户网站什么意思
  • 深圳做网站专业的公司WordPress修改分类id
  • 培训建设网站运行wordpress环境
  • 外贸网站如何引流外贸推广平台排名
  • 免费速建网站陕西省建设工程安全协会网站
  • 360网站建设windowxp做网站服务器
  • 江苏网站建设价格做自己的优惠券网站
  • 网站的图片怎么做无法下载哪个网站可以做前端项目
  • 嘉兴网站建设公司就找嘉乐网络用织梦做企业网站
  • 怎么做仿制网站网站建设和技术服务合同范本
  • 无锡专业做网站凡科建设网站步骤
  • 网站建设服务是什么意思简洁大气企业网站模板
  • 大学生兼职网站开发毕设论文平面海报设计
  • 宣威市住房与城乡建设局网站网站设计西安学习
  • 苏州网站推物联网系统设计方案
  • 动漫网站开发需求分析计算机培训班培训费用
  • 我想创个网站需要网站建设的是哪一类人