nginx url重写

[[email protected] www]# cat /app/server/nginx/conf/vhosts/default.conf
server {
    listen 80 default_server;
    server_name localhost;
    root /app/www;
    index index.php index.htm index.html;
    rewrite /last.html /index.html last;
    rewrite /break.html /index.html break;
    rewrite /redirect.html /index.html redirect;#302临时重定向
    rewrite /permanent.html /index.html permanent;#301永久重定向
    rewrite ^/html/(.+?).html$ /post/$1.html permanent;
    location ~ .*\.(php|php5)?$
    {
       #fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    access_log  /app/log/nginx/access/default.log;
}
[[email protected] www]# tree /app/www/
/app/www/
├── index.html
├── index.php
└── post
    └── test.html

1 directory, 3 files
[[email protected] www]# cat /app/www/index.html
[email protected]163.com
[[email protected] www]# cat /app/www/post/test.html
post/test.html
[[email protected] www]# curl 192.168.1.24/last.html
[email protected]163.com
[[email protected] www]# curl --head 192.168.1.24/last.html
HTTP/1.1 200 OK
Server: nginx/1.4.4
Date: Tue, 02 Aug 2016 01:53:10 GMT
Content-Type: text/html
Content-Length: 16
Last-Modified: Mon, 18 Jul 2016 11:46:03 GMT
Connection: keep-alive
ETag: "578cc17b-10"
Accept-Ranges: bytes
[[email protected] www]# curl 192.168.1.24/break.html
[email protected]163.com
[[email protected] www]# curl --head 192.168.1.24/break.html
HTTP/1.1 200 OK
Server: nginx/1.4.4
Date: Tue, 02 Aug 2016 01:54:40 GMT
Content-Type: text/html
Content-Length: 16
Last-Modified: Mon, 18 Jul 2016 11:46:03 GMT
Connection: keep-alive
ETag: "578cc17b-10"
Accept-Ranges: bytes
[[email protected] www]# curl 192.168.1.24/redirect.html
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx/1.4.4</center>
</body>
</html>

[[email protected] www]# curl 192.168.1.24/permanent.html
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.4.4</center>
</body>
</html>

[[email protected] www]# curl 192.168.1.24/html/test.html
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.4.4</center>
</body>
</html>

注意:因为301和302不能简单的只返回状态码,还必须有重定向的URL,这就是return指令无法返回301,302的原因了;

时间: 2024-11-17 06:50:03

nginx url重写的相关文章

Nginx URL重写(rewrite)配置及信息详解

Nginx URL重写(rewrite)配置及信息详解 URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中 Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的.默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持 rewrite是实现URL重写的关

如何正确配置Nginx+PHP及正确的nginx URL重写

对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴.听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价. 假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由. 此时很多教程会教大家这样配置Nginx+PHP: server { listen 80; server_name foo.com; r

nginx url重写 rewrite实例

本文介绍下,在nginx中实现Url重写,学习rewrite的具体用法,有需要的朋友参考下吧. 原文地址:http://www.360doc.com/content/14/0202/20/14234135_349409878.shtml nginx 的 rewrite 语法 语法: rewrite regex replacement flag默认: none作用域: server, location, if此指令根据表达式来更改URI,或修改字符串.指令根据配置文件中的顺序来执行. 注意:重写表

12 nginx URL 重写 ecshop案例

一:URL 重写 ecshop案例 Rewrite语法 Rewrite 正则表达式 定向后的位置 模式 Goods-3.html ---->Goods.php?goods_id=3 goods-([\d]+)\.html ---> goods.php?goods_id =$1 location /ecshop { index index.php; rewrite goods-([\d]+)\.html$ /ecshop/goods.php?id=$1; rewrite article-([\d

nginx URL 重写

nginx rewrite 实现二级域名跳转当访问http://www.jbyuan.com跳转到http://www.jbyuan.com/nvxingjiankang/ 方法一:这种方法浏览器地址会变www.jbyuan.com/nvxingjiankang/实现访问如下: 复制代码代码如下: server {        listen 80;        server_name www.test.com;        location / {                root

Nginx web服务器 安装 配置PHP SSL 反向代理 负载均衡 web缓存 URL 重写 写分离

[Nginx web服务器] 安装 为nginx提供SysV init脚本 优先级 让Nginx支持站点用户认证访问 Nginx SSL 配置 打开防火墙443 端口 基于主机名的 虚拟主机 源码安装 PHP Nginx反向代理 Nginx负载均衡 Nginx web缓存 Nginx URL 重写 Nginx读写分离 [Nginx web服务器] 支持5万高并发,实际3万 负载均衡  LVS 反向代理 200第一次连接 302 缓存里面来的 [[email protected] home]# d

Cento7+Nginx 之 URL重写

Cento7+Nginx  之  URL重写 我们前一篇文章写了一个Cento7+Nginx 反向代理实现多域名跳转,今天主要介绍一下Cento7+Nginx  之  URL重写, Hostname:A-S.IXMSOFT.COM IP:192.168.5.20 Role:Nginx server 我们首先准备安装Nginx仓库 Yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.

Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

Nginx之反向代理、日志格式、集群、缓存、压缩、URl 重写,读写分离配置

location的模式匹配按照优先级由低到高有以下四种: Nginx作为一个优秀的Web服务器,不仅在处理静态内容上比Apache优秀,还经常被用来做反向代理服务器,且支持缓存,URL重写,自定义格式,读写分离等功能,并且支持在TCP/IP第七层实现集群功能,基于AIO(异步I/O)event_driven(事件驱动)mmap(内存映射)等机制和功能,具有轻量级.高性能.消耗低.特性丰富.配置简单等特点 实验环境: node1:192.168.139.2 node2:192.168.139.4