在Apache中有两种方法配置,一是通过httpd.conf文件,二是通过.htaccess文件。

使用 httpd.conf 来配置 rewrite 策略。

要使用 httpd.conf 文件来设置伪静态策略,我们可以直接在 httpd.conf 中写入如下代码,如果您的网站是配置在 VirtualHost 中,则将这段代码加到对应的。

使用.htaccess来配置rewrite策略。

检查httpd.conf中的:

RewriteEngine on

RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3

复制代码保存后重启httpd服务即可生效。

常见问题: Q:为何都按上面设置了缺还是无法静态化? A:很有可能是因为别的目录设置项覆盖了。

Nginx:

Nginx下设置伪静态方法与Apache差不多,直接在nginx.conf (或者在对应的*.conf) 中找到需设置伪静态规则的服务器对应字段,在server{ location/{ } }中添加以下代码:

server {

listen 80 default_server;

server_name _;

location / {

root /usr/share/nginx/html;

index index.html index.htm;

rewrite ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3;

}

}

添加后重启Nginx服务即可生效!

正则表达式匹配

就用上面的例子中的伪静态策略来简单解释下正则表达式在配置的作用:

策略:RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3

请求路径:http://www.abc.com/list-123-456.html

本策略分成两段,第一段是使用正则表达式去匹配请求访问的路径,第二段是将匹配后的参数转化为真实访问的路径。策略执行时:^(.*)list-([0-9]+)-([0-9]+)\.html$ 与 /list-123-456.html这个字符串进行匹配:

^和$字符分别代表了匹配输入字符串的开始和结束

()中的匹配到的内容会被按顺序分配到变量$1 $2 $3中

.*匹配任意字符串,且长度从0个到多个,故$1值为/

[0-9]+匹配字符0-9,长度1个到多个,故$2和$3分别是123和456

所以最后真实访问的动态地址为/list.php?page=123&id=456

上面只是介绍了基本的配置策略,其实这个rewrite规则还有非常多的玩法,例如使用RewriteCond进行域名层面的重写跳转。

Apache和Nginx设置伪静态(URL Rewrite)的方法的更多相关文章

  1. IIS7.5使用web.config设置伪静态的二种方法

    转自 网上赚钱自学网 .http://www.whosmall.com/post/121 近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两 ...

  2. Nginx常用伪静态规则(rewrite)-Discuz X3.2-WordPress-PHPCMS-ECSHOP-SHOPE(转)

    当我们从apache服务器转向Nginx服务器的时候,它们的伪静态规则就不一样了,所以你熟悉Nginx服务器的伪静态规则,自己写当然也好.不了解Nginx服务器的伪静态规则的,为方便各位站长,收集了这 ...

  3. Apache 和 Nginx 下的 URL 重写

    URL 重写和重定向 URL 重写是将页面映射到本站另一页面, 而重定向则是将页面映射到另一主机(域名). 其中临时重定向(R=302)和永久重定向(R=301)都是亲搜索引擎的, 是 SEO 的重要 ...

  4. php 伪静态 (url rewrite mod_rewrite 重写)

    mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用方法!对初学者很有用的哦!1.检测Apache是否支持mod_rewrite通过php提供的php ...

  5. [转]nginx下的url rewrite

    转:http://zhengdl126.iteye.com/blog/698206 if (!-e $request_filename){rewrite "^/index\.html&quo ...

  6. Apache、NGINX支持中文URL

    Apache(32位):安装环境:CentOS 5.6 + Apache 2.2.15安装结果:安装后支持“中文图片.文件名”链接直接打开以下为安装过程:1.下载安装包 wget ftp://ftp. ...

  7. IIS7.5使用web.config设置伪静态的二种方法(转)

    近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两种方法各有优势:第一种比较灵活,只要把文件拷到根目录下,即可直接显示所有伪静态页面(适用于 ...

  8. (转)apache和nginx的区别

    nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下ngin ...

  9. 5G时代,URL Rewrite 还吃香吗

    URL Rewrite是网站建设中经常用到的一项技巧,通过 rewrite 我们能够屏蔽服务器运行态的信息,包括服务的程序.参数等等,给用户呈现美化后的URL,同时对搜索引擎更加友好,方便我们网站的推 ...

  10. Apache、nginx 、lighttpd性能比较

    Apache.nginx .lighttpd性能比较 1. web服务器简介 1. lighttpd Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全.快速. ...

随机推荐

  1. 五、pycharm的安装与基本使用

    目录 一.pycharm的安装 1.软件介绍 2.正版安装 1.下载软件 2.安装软件 3.其他方法安装(需要先下载相关资源) ①无限试用法 ②傻瓜式激活法 ③淘宝购买 二.pycharm软件的使用 ...

  2. Linux命令篇 - tar 命令

    tar GNU `tar' saves many files together into a single tape or disk archive, and can restore individu ...

  3. JAVA虚拟机02---JAVA虚拟机运行时数据区域简介

      JAVA虚拟机运行时数据区域 1.程序计数器 1)它可以看做是当前线程执行的字节代码的行指示器,通过改变计数器的值来决定下一步执行的代码 2)它是线程私有的,每个线程都有自己的程序计数器(JAVA ...

  4. .NET周报 【2月第2期 2023-02-11】

    国内文章 SQLSERVER的truncate和delete有区别吗? https://mp.weixin.qq.com/s/wTIeW8rjj3cRzoaQcg2sOw 在面试中我相信有很多朋友会被 ...

  5. 快速上手Java开发工具Eclipse之简易手册

    Eclipse下载,可以下载最新版本,文档是以2020-12R版本为例 http://www.eclipse.org/downloads/ 下载Packages即可 安装Eclipse 解压安装 除了 ...

  6. ctfshow_web入门 sql注入(web171~248)

    sql注入 这是算是学习+做题+记录的一个笔记吧,而且基本都是看着Y4师傅的博客做的 由于是做过sqli靶场,所以这个就记录快点了.如果靶场没遇到的,也会做笔记. union 联合注入 web171 ...

  7. JavaScript 如何验证 URL

    前言 当开发者需要为不同目的以不同形式处理URL时,比如说浏览器历史导航,锚点目标,查询参数等等,我们经常会借助于JavaScript.然而,它的频繁使用促使攻击者利用其漏洞.这种被利用的风险是我们必 ...

  8. c语言以及高级语言中的float到底是什么以及IEEE754

    对内存里float4字节的好奇 初学计算机都要学那个什么二进制十进制什么补码 反码那些玩意儿哈,由于最近要做一个单片机往另外一个单片机发数据的需求,直接c语言指针 然后float4字节传过去不就得了吗 ...

  9. 利用反射和代理简单模拟mybatis实现简单的CRUD

    利用反射接口做java数据库操作 今天突发奇想,好像一些基本的CRUD操作路数都是一样的,又想到mybatis中的操作,便想着简单的模拟一下.随便写写,就当练习反射了. Dao接口类: 这里使用泛型, ...

  10. Windows下小狼毫配置五笔拼音方案

    Windows下小狼毫配置五笔拼音方案 目录 Windows下小狼毫配置五笔拼音方案 1 下载并安装小狼毫rime 2 配置五笔.五笔拼音方案 3 安装设置五笔拼音混合输入 4 设置输入方案 1 下载 ...