Apache配置伪静态

注意:本文中关于Apache的配置修改,一定要记得重启Apache服务

伪静态的实现有多种方法,比如通过获取path_info信息使用php逻辑来达到伪静态,使用Apache提供的rewrite来达到伪静态,本文主要对Apache提供的rewrite实现伪静态做个记录

1、开启Apache服务的mod_rewrite模块:

编辑 下的httpd.conf文件:

2、编写伪静态规则

具体的规则的写法可以学习Apache手册中url重写:http://apache.jz123.cn/rewrite/rewrite_guide.html

规则写在什么地方?可以直接写在httpd.conf文件中,也可以写在项目文件中的 .htaccess文件中,当要写在 .htaccess文件中时记得在httpd.conf文件中开启对应目录的AllowOverride 

    3、我们使用 .htaccess 的方式(虽然手册中说这会影响Apache的性能,但是我们是测试,所以为了不影响其他项目,就采用这种方式)

编写 .htaccess 文件

1
2
3
4
5
6
7
8
9
10
<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  # 判断是否存在请求的目录,
  RewriteCond %{REQUEST_FILENAME} !-d
  # 判断是否存在请求的文件,
  RewriteCond %{REQUEST_FILENAME} !-f
  # 如果上面请求的路径文件存在,直接执行请求文件,不存在就继续执行下面的规则
  RewriteRule ^detail/([\d]+).html$ detail.php?id=$1
</IfModule>

上面的规则意思是:当请求的文件存在时直接执行请求文件,当不存在时执行匹配最后的规则,进入到detail.php文件执行

4、当我们访问 http://localhost/statichtml/detail/3.html

因为 statichtml/detail/3.html 这个文件是不存在的,这时我们正真访问的其实是http://localhost/statichtml/detail.php?id=3

当我们访问:http://localhost/statichtml/detail/4.html

4.html这个文件是存在的

此时直接直接执行文件返回:

基本在Apache上的伪静态,简答的配置就是这样,当然你可以根据自己的需求将规则更加优雅。这完全都是你自己的需求和能力决定的。我只是在这里做一个简答的流程性的记录,只有配置的规则的一些只是在Apache手册上面有详细的说明。如果我们不是服务器管理员,只是一个很普通很普通的程序员,我们就先了解这么一个流程,以后工作中用到的时候好好看看手册,毕竟Apache的手册是很详细的。如果想着想着仔细的学习Apache手册,然后记住,这是很难的,如果我们不经常操作,很容易就忘记了。所以还是了解各流程然后需要时学习手册,这样最好。

 

Apache配置伪静态的更多相关文章

  1. apache配置伪静态Rewrite

    1: 修改apache的httpd.conf文件 找到这一行 #LoadModule rewrite_module modules/mod_rewrite.so 改成 LoadModule rewri ...

  2. php Apache配置伪静态的介绍

    以下是摘抄http://jingyan.baidu.com/article/86112f132aa7462737978718.html的,作为记录,方便以后参考 现有的在线网上视频教程对伪静态的讲解比 ...

  3. PHP Apache 配置伪静态

    1.首先是开启rewrite_module(如何开启,百度搜索) 2.创建.htaccess文件(如何创建,百度搜索) 3.在.htaccess文件中打开重写服务:RewriteEngine On 4 ...

  4. apache 的rewrite函数配置伪静态

    配置伪静态目的:对于访问比较长的uri,利于网站搜索工具更容易记住,换句话利于SEO 在配置文件中添加或找到 <IfModule mod_rewrite.c> </IfModule& ...

  5. 转--htaccess语法教程 apache服务器伪静态规则教程

    转自:http://blog.csdn.net/qingli518/article/details/9118361 htaccess语法教程apache服务器伪静态规则教程 注:如果你是为了找Disc ...

  6. LAMP第二部分apache配置

    课程大纲:1. 下载discuz! mkdir /data/wwwcd /data/wwwwget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3 ...

  7. Nginx/Apache之伪静态设置 - 运维小结

    一.什么是伪静态伪静态即是网站本身是动态网页如.php..asp..aspx等格式动态网页有时这类动态网页还跟"?"加参数来读取数据库内不同资料,伪静态就是做url重写操作(即re ...

  8. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  9. 使用WampServer搭建本地PHP环境,绑定域名,配置伪静态

    倡萌之前介绍过 USBWebserver 快速搭建本地PHP环境 ,推荐USBWebserver的原因在于它是绿色的,不需要安装,想使用就手动运行下即可.但是 USBWebserver 也有自身的弱点 ...

随机推荐

  1. 大型发布会现场的 Wi-Fi 应该如何搭建(密集人群部署wifi抗干扰)?

    原文连接: http://www.zhihu.com/question/20890194 WiFi网络的部署要远远比一般人想象的复杂,不是说放上几十个AP带宽就自动增加几十倍,恰恰相反,简单放几十个A ...

  2. jeecms一些经典标签

    http://www.121ask.com/thread-5512-1.html [@cms_channel_list]标签详细介绍 http://www.jeecmstheme.com/2014/0 ...

  3. JProfiler 8(一个很好的java性能监控工具) 下载和注册码

    windows x64 zip下载地址:http://download-aws.ej-technologies.com/jprofiler/jprofiler_windows-x64_8_0_1.zi ...

  4. oracle查看和修改最大连接数

    第一步,在cmd命令行,输入sqlplus 或者直接在plsql中打开command window 第二步,根据提示输入用户名与密码 1. 查看processes和sessions参数 1 2 3 4 ...

  5. mysql 5.6.15升级到5.6.43

    今天闲来无事,观察测试环境的zabbix服务器,发现内存泄漏严重,于是重启了,想起了前几天写的帖子发生了严重的内存泄漏可以把mysql升级到最新的小版本 于是乎就试着升级 old version:5. ...

  6. nodejs连接mongodb

    一.安装 a.访问mongodb官网下载https://www.mongodb.com/,有zip或者msi版本,zip解压缩就可以用,msi需要安装后使用 b.安装,指定好安装路径,一路下一步 c. ...

  7. Vue基础知识之vue-resource和axios(三)

    vue-resource Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery.vue-resource是Vue.js的 ...

  8. Python之单元测试框架unittest

    创建class继承unittest,每一个测试用例是以test开头的函数,先执行setup,然后用例按照字母的顺序执行,然后执行teardown import unittest class demo( ...

  9. selenium+python在mac环境上的搭建

    前言 mac自带了python2.7的环境,所以在mac上安装selenium环境是非常简单的,输入2个指令就能安装好 需要安装的软件: 1.pip 2.selenium2.53.6 3.Firefo ...

  10. [jOOQ中文]2. jOOQ与Spring和Druid整合

    https://segmentfault.com/a/1190000010496053 jOOQ和Spring很容易整合. 在这个例子中,我们将整合: Alibaba Druid(但您也可以使用其他连 ...