zoukankan      html  css  js  c++  java
  • Apache配置伪静态

    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手册,然后记住,这是很难的,如果我们不经常操作,很容易就忘记了。所以还是了解各流程然后需要时学习手册,这样最好。

     



  • 相关阅读:
    UVa 11384 Help is needed for Dexter (递归)
    HDU 4355 Party All the Time (三分求极值)
    UVa 11992 Fast Matrix Operations (线段树,区间修改)
    LA 3708 && POJ 3154 Graveyard (思维)
    LA 3942 && UVa 1401 Remember the Word (Trie + DP)
    LA 4329 Ping pong (树状数组)
    HDU 2058 The sum problem (数学+暴力)
    POJ 1458 Common Subsequence (DP+LCS,最长公共子序列)
    代理服务器
    .net垃圾回收
  • 原文地址:https://www.cnblogs.com/wxb0328/p/4375600.html
Copyright © 2011-2022 走看看