zoukankan      html  css  js  c++  java
  • 用.htaccess文件实现URL重写

    1、安装 mod_rewrite 模块
         因为 Apache 服务器默认是没有打开 mod_rewrite 模块的,所以我们必须手动来启动。打开 Apache 的配置文件 httpd.conf 文件,找到下面一行:
         #LoadModule rewrite_module modules/mod_rewrite.so
         前面的 # 号是 Apache 配置文件的注释符,也就是 Apache 服务器没有加载该模块。将前面的 # 号去掉,保存后重启 Apache 服务器,这是我们就实现了加载 mod_rewrite 这个模块了。(提示:任何一次对 Apache 的配置文件 httpd.conf 文件都是要重新启动 Apache 才能生效的)

         2、新建 .htaccess 文件
         在 windows 系统默认的情况下是不能新建没有文件名的文件的,这里建议大家使用 vim 这个编辑器来新建。方法是打开 vim 编辑器随便输入一段文字,然后保存为 .htaccess 即可。很多朋友因为习惯了 windows 系统,所以新建这个文件很头疼。还有就是文件名一定不要错,我今天写的时候把文件保存成了.htacess,看到没有,少了一个c,怎么调试都不对,还好最后发现了这个低级错误。

         3、配置 .htaccess 文件
         .htaccess 文件务必放在你项目的根目录下,不要放在其他文件夹下。配置 .htaccess 文件的格式如下:

         <ifmodule mod_rewrite.c>
         RewriteEngine On
         #这里是你的规则
         </ifmodule>

         解释:RewriteEngine On :启动URL重写引擎
         先看如下一个配置好了的 .htaccess 文件实例:
      <ifmodule mod_rewrite.c>
          RewriteEngine On
          RewriteRule ^index.html$ /index.php [L]
          RewriteRule ^shop/(.+)/$ shop/shop.php?providerId=$1 [L] 
      </ifmodule>

        分析:上面 .htaccess 文件就写了二条规则。当在浏览器中输入 index.html 时,后台调用的是 index.php 文件。符号“^”是以后面的字符开头,相信熟悉正则表达式的朋友不会陌生吧,符号“$”是以前面的字符结尾。符号L表示停止处理接下来的规则。最后一条当我们在浏览器中输入 shop/2322 时,后台调用 shop.php文件并传递参数provider=2322 。
        配置规则,大家照着那一条去写吧,记得每行后面加个 L 符号。

    再写一个:

    http://www.yourdomin.com/category.php?id=12 想重写成 http://www.yourdomin.com/category/12

      RewriteRule  ^category/([0-9]+)$  category.php?id=$1

    如果有多页的文章 如:http://www.yourdomin.com/category.php?id=12&page=3 重写成 http://www.yourdomin.com/category/12/3

      RewriteRule ^category/([0-9]+)/([0-9]+)$  category.php?id=$1&page=$2

    如果你想升级你的站点,又要保证老的链接都可用,你也可以通过mod_rewrite模块来实现。你仅仅需要写一个规则之处这个网页被永久的移动了。例子如下:

      RewriteRule ^oldpage.html$ newpage.html [R=301]

    记录下来,以后还会用到。

  • 相关阅读:
    Linnia学习记录
    漫漫考研路
    ENS的学习记录
    KnockoutJS 3.X API 第四章 数据绑定(4) 控制流with绑定
    KnockoutJS 3.X API 第四章 数据绑定(3) 控制流if绑定和ifnot绑定
    KnockoutJS 3.X API 第四章 数据绑定(2) 控制流foreach绑定
    KnockoutJS 3.X API 第四章 数据绑定(1) 文本及样式绑定
    KnockoutJS 3.X API 第三章 计算监控属性(5) 参考手册
    KnockoutJS 3.X API 第三章 计算监控属性(4)Pure computed observables
    KnockoutJS 3.X API 第三章 计算监控属性(3) KO如何实现依赖追踪
  • 原文地址:https://www.cnblogs.com/bluealine/p/6061997.html
Copyright © 2011-2022 走看看