apache url rewrite笔记

  

什么是mod_rewrite?

mod_rewrite是apache一个允许服务器端对请求url做修改的模块。入端url将和一系列的rule来比对。这些rule包含一个正则表达式以便检测每个特别的模式。如果在url中检测到该模式,并且适当的预设条件满足,name该模式将被一个预设的字符串或者行为所替换。

这个过程持续进行直到没有任何未处理的规则或者该过程被显式地停止。

这可以用三点来总结:

  • 有一系列的顺序处理的规则rule集
  • 如果有一条规则被匹配,将同时检查该规则对应的条件是否满足
  • 如果一切处理结果都是go,那么将执行一条替换或者其他动作

mod_rewrite的好处

有一些比较明显的好处,但是也有一些并不是很明显:

mod_rewrite非常普遍地被用于转换丑陋的,难以明义的URL,形成所谓"友好或干净的url"。

另一方面,这些转换后的url将会是搜索引擎友好的

时间: 2024-10-13 09:40:38

apache url rewrite笔记的相关文章

apache url rewrite 的RewriteRule参数详解

我们经常会在apache那边对一些url进行一些重写操作,那么就会涉及到很多的重写策略的选择,比如重定向的方式,参数的处理,规则匹配的顺序等. 比如我们某个应用会有下面的url rewrite规则:下面是对于域名imall.test.com访问的时候需要重定向到http://page.test.com/channel/imall/index.html这个url上, <VirtualHost *> ServerName imall.test.com#if("${industry_por

nginx和apache下的url rewrite

将服务器上面的数据同步到本地之后,发现打开首页显示不正常,本地服务器是apache,经过打开url rewrite之后本地首页正常显示. 原因是phpwind本身支持了url rewrite的功能,但是本地的apache服务器没有开启这项功能,导致了首页的排版紊乱. 远程服务器用的的nginx和本地的apache的url rewrite配置不能通用,借此机会学习下,url rewrite的功能. url rewrite是服务器的一个模块,功能包括,配置一些访问的网址的重写,其中的语句规则是基于正

apache开启url rewrite模块

在把服务器数据转移到本地服务器之后,本地打开首页出现排版紊乱等问题,经过大神指点说是url rewrite的问题. 本篇文章主要写怎样开启apache的url rewrite功能. 打开Apache2\conf\httpd.conf 搜索 LoadModule rewrite_module modules/mod_rewrite.so  (Apache2是这个) 去掉前面的# 搜索AllowOverride None 替换为 AllowOverride All 有好几个找到和下面代码类似的那个

新浪sae url rewrite(伪静态、重定向)详解

新浪sae url rewrite(伪静态.重定向)详解 http://www.veryhuo.com phpclubs 2011-11-14 投递稿件 sae全程Sina App Engine,真是一个好东西,他有很多优秀的特性,简单来说SAE就是一个简单高效的分布式Web服务开发.运行平台. 支持现在常用的 php+mysql环境,在开发中难免会碰到项目需要做url rewrite(伪静态),然而sae不支持 apache 下的.htaccess .不过不要难过,sae提供了自己的rewri

网站URL Rewrite(伪静态)设置方法

1.如果您的服务器支持.htaccess,则无需设置,网站根目录下的.htaccess已经设置好规则.规则详情:http://download.destoon.com/rewrite/htaccess.txt 2.如果是Apache服务器 Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: LoadModule rewrite_module     libexec/mod_rewrite.soAddModule mod_rewrite.c Apache

apache的rewrite机制

当我们使用thinkphp的时候,比如说我们访问一个Test控制器的test方法,http://localhost/index.php/Test/test/1.html,那个这个1是用get方式传递的参数,假如这个参数为id,那么我们其实访问的真实地址是http://localhost/index.php/Test/test?id=1.html,用过thinkphp的都知道,其实这个就是伪静态,通过配置tp配置文件的url模式可以实现,但是伪静态的实现,其实也可以用apache的rewrite机

Apache伪静态(Rewrite).htaccess文件详解

Htaccess(超文本访问)是一个简单的配置文件,它允许设计师,开发者和程序员通过它来改变Apache Web服务器的配置.这些功能包括用户重定向.URL重写(url rewrite,国内很多称为伪静态).目录密码保护.现在我们开始-- 1 建立并上传一个.htaccess文件建立一个.htaccess文件很简单,我们使用一个类似windows的记事本或者notpad++都可以,然后把"自动换行"功能关闭,然后写入一些字后保存文件.比如,我们可以起名为:htaccess.txt上传到

nginx 配置rewrite 笔记

nginx 配置rewrite笔记: 通过下面的示例来说明一下,1. 先说说location : location 表示匹配传入的url地址,其中配置符有多种,各种情况的意义不一样: location ^~ /public/ { root /data/wwwroot/a.php.abc.cc; } location ^~ /public/ 表示匹配以 "/public/" 开头的url,匹配成功执行其中的内容,执行完毕后停止并退出. location / { root /data/ww

thinkphp nginx php-fpm url rewrite 导致 404 错误

thinkphp nginx php-fpm url rewrite 导致 404 错误 之前thinkphp的系统部署在apache上,考虑到在并发性能nginx比apache强悍得多,所以在centos上以 nginx+php-fpm模式重新部署了thinkphp系统,结果发现诸如 1 /index.php/home/user/verify 此类的url nginx会报404错误,但是改成 1 /index.php?s=/home/user/verify 之后却能够访问,这说明前一种url