文档章节

Apache 伪静态模块mod_rewrite的介绍与使用

4fun
 4fun
发布于 2015/12/28 16:15
字数 411
阅读 64
收藏 0

mod_rewrite是apache的一个功能模块,基于lamp架构的服务器伪静态大多用mod_rewrite来实现网站URL的伪静态。

写好Rewrite伪静态规则,文件保存为.htaccess并存放于网站目录即可。

首先要开启apache的mod_rewrite功能:

在apache目录的Apache\conf这个文件夹下的httpd.conf文件用记事本打开编辑,找到如下一句:

#LoadModule rewrite_module modules/mod_rewrite.so

将前面的#号去掉,变成:

LoadModule rewrite_module modules/mod_rewrite.so

然后再在同一文件找到下面一句:

AllowOverride None

将其改为:

AllowOverride All

然后关闭并保存文件。

这样一来,Apache的mod_rewrite的功能就被开启,非常简单。

下面,我要用mod_rewrite实现这样的URL:

http://xxx.com/0725.html

http://xxx.com/0726.html

http://xxx.com/0727.html

http://xxx.com/****.html

上面链接的意思,就是显示07月25日的历史上发生了什么事情,类似这样。

这样看起来就很美观、整齐了,貌似生成html了。然而它们地址实际是:

http://xxx.com/index.php?today=0725

http://xxx.com/index.php?today=0726

http://xxx.com/index.php?today=0727

http://xxx.com/index.php?today=****


现在我就是要实现把 index.php?today=****变为静态的****.html。以下是代码:

在.htaccess 文件里设置如下规则:

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond   %{REQUEST_FILENAME} !-d

RewriteRule ^([0-9]+).html$   /index.php?today=$1


粗体字这里我说明一下,其它的按这个格式吧,具体我现在也不理解。

[0-9]的意思是,参数只能是0~9这些数字,如果你要包含任何字符,就改为:

RewriteRule ^(.+).html$ /index.php?today=$1

这里[0-9]改为了. ,这个.就代表任意字符。


本文转载自:http://www.4u4v.net/pseudo-static-module-under-apache-use-mod_rewrite-introduction.html

共有 人打赏支持
4fun

4fun

粉丝 4
博文 15
码字总数 7706
作品 0
防城港
个人站长
php伪静态之APACHE配置篇

在apache中mod_rewrite模块,它可以实现伪静态页面。 分享下apache中配置php伪静态的方法。 1.检测Apache是否支持modrewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“L...

mysoftsky
2014/06/06
0
1
WAMP SERVER开启rewrite伪静态重写模块

WAMP SERVER一键安装套件在安装完后默认是未开启rewrite伪静态模块,不支持.htaccess rewrite规则,有rewrite规则的源代码运行时,会找不到路径出错。分享一下如何开启rewrite伪静态模块。 ...

飞龙栖息地
2013/08/25
0
0
htaccess伪静态导致的403错误

apache安装后伪静态的时候无论如何都无法完成。这时我检查了我的 apache 配置,配置如下: Options Indexes MultiViewsAllowOverride AllOrder allow,denyAllow from all 而且我的 LoadModu...

大德
2012/03/22
0
2
ThinkPHP中配置伪静态(URL重写)规则

什么是伪静态?简单说就是将动态的url变成静态的url显示,就叫做伪静态。“伪”就是假的,不是真的静态url,是通过技术手段实现的。用户只 要开通无忧php虚拟空间就支持url重写功能,无需其它...

汤圆
2012/12/30
0
0
启用Mod Rewrite和.htaccess

Apache的Mode Rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。在大多数情况下,它和.htaccess文件配 合使用。比如本篇文章的URL(http://dancewithnet.com/2010/05...

前端巨浪
2013/04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
37分钟前
1
0
OSChina 周四乱弹 —— 上帝对我单身年限的惩罚越来越长了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享张卫健的单曲《身体健康》 《身体健康》- 张卫健 手机党少年们想听歌,请使劲儿戳(这里) 昨天是重阳节咯, 可惜小小编辑总是晚...

小小编辑
39分钟前
7
0
django rest framework 外键序列化方法与问题总结

django rest framework 外键序列化方法与问题总结 当借口中需要出现一对多关系的时候,我们可以用rest_framwork的序列化功能来处理,代码如下. # models.pyfrom django.db import modelscl...

_Change_
昨天
1
0
SingleNumber136 leetCode

Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you im......

woshixin
昨天
1
0
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部