mod_rewrite

一、简介

http://www.07fly.net/a/wangluobiancheng/Phpbiancheng/201501/58393.html

 

二、实现原理:

      只有当用户的WEB请求最终被导向到某台WEB服务器的Apache后台,则这台WEB服务器接受

      进来的请求,根据配置文件该请求是主配置还是虚拟主机,再根据用户在浏览器中请求的

      URI来配对重写规则并且根据实际的请求路径配对.htaccess中的重写规则。最后把请求

      的内容传回给用户,该响应可能有两种:

      1) 对浏览器请求内容的外部重定向(Redirect)到另一个URL。 
      让浏览器再次以新的URI发出请求(R=301或者R=302,临时的或是永久的重定向) 
      如:一个网站有正规的URL和别名URL,对别名URL进行重定向到正规URL,或者网站改换

      成了新的域名 
      则把旧的域名重定向到新的域名(Redirect)

      2) 也可能是由Apache内部子请求代理产生新的内容送回给客户[P,L] 
      这是Apache内部根据重写后的URI内部通过代理模块请求内容并送回内容给客户,而客户

      端浏览器并 
      不知道,浏览器中的URI不会被重写。但实际内容被Apache根据重写规则后的URI得到。 
      如:在公司防火墙上运行的Apache启动这种代理重写规则,代理对内部网段上的WEB服务

      器的请求。

 

三、配置实例

http://jingyan.baidu.com/article/ae97a646a7419bbbfd461df7.html
时间: 2024-08-09 12:24:33

mod_rewrite的相关文章

在Apache中使用mod_rewrite模块重写URL

如果有使用第三方框架做项目时,url路径是可以同过框架给的方法来设定的(如thinkphp),但如果使用原生php写的项目又想重写url,则可通过apache的一些设置来达到想要的效果. 在更改apache的配置之前,应该先了解一些apache的知识:apache中的Directory标签的作用是用于标记我们如何在特定目录订制apache的行为.该标签里会有一个绝对路径,该路径就是你想订制行为的目录. 总体通过apache修改URL的思路就是,在.htaccess文来中对你想要重写的url地址进

openSUSE中启用apache mod_rewrite

1. 编辑 "/etc/sysconfig/apache2"文件 查找 APACHE_MODULES,你应该会找到一行像 APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_core authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl

为apache单独编译mod_rewrite.so

今天要把一个站点搬到一台Red Hat 4.1.2-42系统上,在配置rewrite的时候,发现apache没有mod_rewrite,可能是当初编译apache的时候没有带上 --enable-rewrite选项. 重新编译mod_rewrite.so:在apache的源码安装目录中寻找mod_rewrite.c文件 find / -name mod_rewrite.c/home/springshine/LAMP/httpd-2.2.3/modules/mappers/mod_rewrite.

apache2服务器mod_rewrite模块 开启方法[linux, ubuntu]

在UBUNTU系统中要启用mod_rewrite的方法有两种: 第一种: 在终端中执行 sudo a2enmod rewrite 指 令后,即启用了 Mod_rewrite 模块, apache2服务器的模块启用方法就和虚拟主机的同IP多域名的启用方法一样, 所有的模块都在/etc/mods-available/文件夹下, a2enmod rewrite 这个命令其实就是把该模块名链接到/etc/apache2/mods-enabled/文件夹下, 如图(命令: ls -la /etc/apac

Apache2: How To Redirect Users To Mobile Or Normal Web Site Based On Device Using mod_rewrite

http://www.howtoforge.com/apache2-how-to-redirect-users-to-mobile-or-normal-web-site-based-on-device-using-mod_rewrite Apache2: How To Redirect Users To Mobile Or Normal Web Site Based On Device Using mod_rewrite Since the massive rise of smartphones

关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)

以数据库后台驱动的动态内容的网站,经常会遇到这些的问题: 当在浏览器的地址栏输入一个无效的参数时,会出现数据库的错误提示,这是一个安全的隐患 搜索引擎无法收录你的所有网页 网页的链接地址是一系列的参数,对浏览用户和搜索引擎都不易理解 这些问题都可以通过Apache服务器的一个基本的模块mod_rewrite来解决,默认的安装的Apache就会装有这个模块.要启用这个模块,打开 httpd.conf文件,察看下面的两行是否被屏蔽,第一行是载入mod_rewrite模块,第二行是启用这个模块. Lo

Ubuntu系统下允许Apache的mod_rewrite功能

首先,使能apache的rewirte模块,在shell里输入下边的命令: sudo a2enmod rewrite 然后重启一下webserver使更改生效 sudo service apache2 restart 通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里.但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置.从安全性考虑,根目录的AllowOverri

Improved SEO with mod_rewrite

PHP Advanced and Object-Oriented Programming Third Edition 1 <?php 2 //D:\wamp64\www\0613pm\w_wwwroot\n\test_htaccess\mod_rewrite.php 3 4 echo '?w='.$_GET['w'].'&wb='.$_GET['wb']; 5 6 /* 7 http://localhost/0613pm/w_wwwroot/n/test_htaccess/mod_rewri

Ubuntu Apache配置及开启mod_rewrite模块

刚刚将服务器系统从CentOS换成Ubuntu,将MySQL,Apache,PHP和Wordpress安装好后,发现打开主页是正常的,但是 打开文章页面时出现错误.因为使用了自定义的固定链接设置,那自然是Apache的rewrite功能出现了问题.打开/etc/apache2这个目录 准备修改配置文件时,发现以前用的httpd.conf这个文件是空的.反倒是多了很多其他的目录.那么Google吧. Apache配置说明查看 https://help.ubuntu.com/12.04/server

php 伪静态 (url rewrite mod_rewrite 重写)

mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用方法!对初学者很有用的哦!1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到"Loaded Modules",其中列出了所有apache2handler已经开启的模块,如果里面包括"mod_rewrite",则已经支持,不再需要继续设置. 如果没有开启"mod_rewrite&quo