文档章节

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

4fun
 4fun
发布于 2015/12/28 16:15
字数 411
阅读 74
收藏 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
启用Mod Rewrite和.htaccess

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

前端巨浪
2013/04/16
0
0
THINKPHP中配置伪静态(URL重写)规则

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

English0523
2016/06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android 报错 Could not find com.android.tools.build:aapt2:3.2.1-4818971.

报错信息: Could not find com.android.tools.build:aapt2:3.2.1-4818971.Searched in the following locations: file:/C:/Users/96110/AppData/Local/Android/Sdk/extras/m2reposito......

lanyu96
20分钟前
1
0
我的Linux系统九阴真经

我的Linux系统九阴真经 在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行...

linuxCool
今天
20
0
Python程序员需要知道的30个技巧

1 直接交换两个数字位置 1x, y = 10, 202print(x, y)3x, y = y, x4print(x, y)5#1 (10, 20)6#2 (20, 10) 2 比较运算符的链接 1n = 102result = 1 < n < 203print(result)4# True5result = 1 ......

糖宝lsh
今天
12
0
[LintCode] Linked List Cycle(带环链表)

描述 给定一个链表,判断它是否有环。 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true。 这里解释下,题目的意思,在英文原题中,tail connects to node index 1 表示的...

honeymose
今天
14
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部