Nginx服务器如何设置url链接_nginx

来源:脚本之家  责任编辑:小易  

nginx服务器绑定域名以及设置根目2113录非常方便5261,首先进入nginx安装目录,然后执4102行 vim conf/nginx.conf 打开nginx的配置文件,找到1653server {..........}这个代码段,这段代码就是用来配置对应站点的,首先我们应该在域名控制面板将域名解析到我们服务器的IP地址,然后绑定才可以生效首先在我们的代码段中找到server_name这一项然后把后面的域名改成我们要绑定的域名即可root这一项就是指定的根目录,设置成我们指定的目录即可如果我们想绑定多个域名怎么办,或者是各种二级域名,比如hao.、tools.这样的二级域名;首先还是将域名解析到服务器,然后整体复制上面server{}代码段重复粘贴到下面即可,这样构造出多个server就是多站点配置了,注意要复制全,大括号要对称,并且shell脚本中大括号和前面的语句之间必须有空格或者换行,这个很重要比如server { 或者if () {等一定要注意,其他的都很容易理解;当然很多集成包中会在和配置文件nginx.conf同目录下设置一个vhost这样的代码虚拟主机的目录,对于绑定多个域名设置多个配置文件,比如aa.conf、bb.conf这些文件,然后在nginx.conf使用include vhost/*.conf;全部引入,引入相当于所有代码写在nginx.conf中一样,并且不用考虑其他目录的关系,都以nginx.conf为准,这样方便管理,比如aa.conf;其他规则配置也可以像上面一样建立多个文件的方式统一管理,全部配置完毕保存退出,然后重新启动服务器即可生效了另外listen指定的就是站点端口,可以在不冲突的前提下自定义配置,server_name指定域名、index 指定默认首页、root指定根目录就够了,这样基本的这些配置就能够掌握了www.zgxue.com防采集请勿采集本网。

  对于LNMP这样架构的网站来说,一般都是基于php框架开发,php框架一般都会讲究优雅链接,比如Laravel,CodeIgniter,ThinkPHP等都是支持这种链接模式的,在服务器配置上也叫作url重写,目前框架大都采用单一入口的index.php然后基于MVC模式的话一般是/index.php/Model/function这种请求方式,所以如果能去掉index.php入口文件整个url就显得简洁美观,和Python、Java等开发的网站url模式统一,Apache和nginx都支持这种url的模式,下面说一下nginx配置的方式

server_name 域名; location /路径1/ {}location /路径2/ {} 就可以 : 域名/路径1/ 域名/路径2/ 这样来访问了。

  首先进入nginx的安装目录,上篇文章中说了在配置文件nginx.conf中,有server {}这样的代码段用来指定一个站点的配置,这下面有很多其他的配置,我们在配置文件或者include的配置文件中对应的server {}代码段中添加如下代码来实现url重写:

location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 把上面一段代码添加到server段里面去。。。记得 检测

location / { try_files $uri $uri/ /index.php?$query_string; }

location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 把上面一段代码添加到server段里面去。。。记得 检测

  

  如果原来location / {}这段代码已经存在的话,那么就直接在里面追加图中那一行代码即可,因为同一个路由的配置一般放到一块;保存之后,重启nginx服务器即可生效,如果nginx被添加到服务的话,可以使用/etc/init.d/nginx restart进行重启,重启之后url就可以得到美化了

1.路径: /etc/nginx/nginx.conf 和 /etc/nginx/conf.d, 其实只有/etc/nginx/nginx.conf 这一个配置文件,因为在nginx.conf中,其他配置文件都是可以利用 include 指令·引入的 部分配置文件: server{listen 80;server_name test.net;root /var

  网上还有另外一种url重写的方式,还是在同样位置添加如下代码来解决:

设置你监听的端口,设置server_name为ip+端口 server { listen 9000; charset utf-8; server_name xx.xx.xx.xx:9000; } 重启,然后就可以使用该IP访问了

location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }

保存之后同样重启nginx生效,也可以实现url美化的效果,不过根据网上有些文章的说法,推荐第一种方式进行url的美化

这个貌似2113只要定向到 index.php 就 OK 了吧。关键5261是你框架的 Router 类够4102强壮,nginx.conf 里面基本不用多1653写啥的location / { index index.php; if (!-f $request_filename){ rewrite ^/(.+)$ /index.php?$1& last; } }location ~ .*\.php?$ { fastcgi_pass 127.0.0.1:3333; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }追问重定向到index.php后的处理不是这样的,index.php直接获得url中的controller、action等值,还是处理/a/b这样的格式,url中并不出现index.php。只不过是把所有请求的url交给index.php处理。追答其实你的框架实现方法和 ZF 的 URI 原理很相似,都是全局 index.php 为入口,所有的请求全部由 index.php 来 rule。原链接可能是这样的 http://127.0.0.1/index.php?someaction=someparam&other按照我的规则, rewrite 之后 url 看起来应该是这样的 http://127.0.0.1/someaction/someparam。URL 中并不会出现类似 http://127.0.0.1/index.php/someaction/someparam 这样的情况。如果不能够出现这种目录式的 URL 结构,那么肯定是你的 URI 和 Router 没有抽象到位内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • ubuntu 下的nginx服务器配置详解
  • nginx gzip模块启用和配置指令详解
  • 探究nginx中reload流程的原理真相
  • nginx缓存页面后 串会话问题的解决方法
  • nginx缓存不起作用问题解决方法
  • 讲解nginx服务器中设置本地浏览器缓存的简单方法
  • 如何利用nginx防止ip地址被恶意解析详解
  • 详解nginx静态服务配置(root和alias指令)
  • nginx+fastdfs搭建图片服务器的方法实现
  • nginx 基本入门教程
  • nginx的配置问题,采用url路由,如何配置nginx.conf
  • linux下的nginx怎样设置软链接为根目录
  • nginx 怎么配置一个url映射多个路径
  • nginx下面怎么设置解析中文URL
  • nginx 怎么配置一个url映射多个路径
  • 怎么正确配置Nginx+PHP及正确的nginx URL重写
  • 怎么正确配置Nginx+PHP及正确的nginx URL重写
  • nginx 文件配置 如何设置域名
  • 如何设置nginx可以让ip可以直接访问网站
  • nginx 怎么实现二级域名跳转到指定 URL
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器如何利用nginx通过正则拦截指定url请求详解nginx屏蔽指定接口(url)的操作方式nginx根据url中的path动态转发到upstream的实现nginx实现根据url转发请求的实战经历nginx proxy_pass反向代理配置中url后加不加/的区别介绍nginx下无法使用中文url的解决方法详解nginx配置url重定向-反向代理详解nginx rewrite和根据url参数locationubuntu 下的nginx服务器配置详解nginx gzip模块启用和配置指令详解探究nginx中reload流程的原理真相nginx缓存页面后 串会话问题的解决方法nginx缓存不起作用问题解决方法讲解nginx服务器中设置本地浏览器缓存的简单方法如何利用nginx防止ip地址被恶意解析详解详解nginx静态服务配置(root和alias指令)nginx+fastdfs搭建图片服务器的方法实现nginx 基本入门教程nginx提示:500 internal servernginx 多站点配置方法集合权限问题导致nginx 403 forbiddenginx fastcgi错误primary scripnginx服务器的反向代理proxy_pasnginx 403 forbidden的解决办法nginx伪静态配置和常用rewrite伪详解nginx服务器中配置超时时间的nginx下301重定向域名的方法小结windows下nginx+php5的安装与配置nginx提示:500 internal server error错nginx实现跨域使用字体文件的配置详解nginx做nodejs应用负载均衡配置实例nginx 服务器安装及配置文件详解介绍nginx 的多站点配置方案nginx从编译安装到配置文件说明中文详细介nginx上配置basic authorization登录认服nginx中fastcgi如何配置优化nginx http运行状况健康检查配置过程解析linux下nginx负载均衡多个tomcat配置的方
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved