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. linux关于ftp查看不到文件列表的问题

    今天配置linux服务器的ftp后,登录都正常,使用ftp工具登录后,所有目录都可以通过手工写路径访问,但是文件夹和文件列表看不到数据. 后来分析,总结原因得出结果是跟selinux有关,于是通过关闭 ...

  2. sql server常用日期格式化

    /*8 24 108 - hh:mm:ss */ Select CONVERT(varchar(), GETDATE(), )-- :: Select CONVERT(varchar(), GETDA ...

  3. JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...

  4. HDU 4438 Hunters

    Hunters Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  5. javascript如何判断是手机还是电脑访问本网页

    var system ={}; var p = navigator.platform; system.win = p.indexOf("Win") == 0; system.mac ...

  6. todolist_高级写法

    <!DOCTYPE html><html><head>    <meta http-equiv="Content-Type" conten ...

  7. SPM——How to use github

    In this semester, we take a class called 'Software Project Management'. And in this class, we have l ...

  8. delete,truncate,drop的区别

    操作 删除对象 表和索引的空间 是否回滚 时间 delete table和view的数据,可以使用where精确删除,删除会触发触发器 表或索引的空间不变化 是dml,可以rollback回滚 最慢 ...

  9. oracle忘记sys及system密码

    一.忘记除SYS.SYSTEM用户之外的用户的登录密码. 用SYS (或SYSTEM)用户登录. CONN SYS/PASS_WORD AS SYSDBA; 使用如下语句修改用户的密码. ALTER ...

  10. pdf转换成可在线浏览的电子杂志zmaker_pdf

    zmaker是曾经国内最流行的电子杂志制作软件,可惜可惜,不过幸好有人给发布了 最新版的 其实主要是2个流程 一个是软件的安装 软件的下载和安装请参考 官方教材 http://bbs.emaghome ...