加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

怎样书写htaccess伪静态规则?

发布时间:2022-02-11 15:52:21 所属栏目:经验 来源:互联网
导读:这篇文章主要为大家详细介绍了如何书写htaccess伪静态规则?,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。 关于如何书写htaccess伪静态规则,361模板分3个步来给大家讲解。 一、如何建立【.htaccess】文件 很多朋
  这篇文章主要为大家详细介绍了如何书写htaccess伪静态规则?,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。
   关于如何书写htaccess伪静态规则,361模板分3个步来给大家讲解。
 
  一、如何建立【.htaccess】文件
  很多朋友不会建htaccess文件,直接新建一个文件,并且命名为【.htaccess】是无法实现的,这是一个只有扩展名,没有文件名的文件,系统会提示输入文件名。
 
  我们可以用如下方法实现:
 
  1、下载一个这个文件;
 
  2、使用FTP、DW、记事本等软件建立,FTP可以直接建立这个文件,软件的话新建一个文件另存一下就可以了;
 
  3、使用CMD或其他操作系统界面重命名文件为【.htaccess】;
 
  另外做个小提示:
 
  【.htaccess】文件通常放置在根目录下,也可放置在子目录中,其效力范围为相对当前的路径,路径规则与html一致。
 
  二、如何让【.htaccess】文件生效
  有的时候我们放置了【.htaccess】文件发现并没有作用,究其原因是因为Apache没有开启它,我们可以在Apache的安装目录的【conf】目录中找到【httpd.conf】文件,使用记事本打开,开启这个选项:
 
  1、找到【LoadModule rewrite_module】,去掉前面的【#】号;
  2、找到所有【AllowOverride None】修改为【AllowOverride All】
  3、如果没有【AllowOverride None或All】这条,则找到【<Directory />】和【</Directory>】,在这之间加上【AllowOverride All】;
  4、重启Apache即可生效。
  三、实例操作如何正确书写htaccess
  例如:
 
  伪静态路径:【http://www.xxx.com/news/post-16.html】
 
  真实路径:【http://www.xxx.com/index.php?m=post&c=index&catdir=news&id=16】
 
  【.htaccess】写法:
 
  ============RewriteEngine onRewriteRule http://www.xxx.com/([a-zA-Z]{1,})/post-([0-9]{1,})/.html$ http://www.xxx.com/index.php?m=post&c=index&catdir=$1&id=$2============
  当然,如果是放在根目录下,使用相对路径即可:
 
  ============RewriteEngine onRewriteRule ([a-zA-Z]{1,})/post-([0-9]{1,})/.html index.php?m=post&c=index&catdir=$1&id=$2============
  代码解释:
 
  注意,因为显示的问题,可能看不清空格,可以复制代码粘贴到其他软件查看。
 
  文件中【RewriteEngine on】表示开启rewrite;
 
  【RewriteRule】表示规则,每行一条,格式为【RewriteRule 匹配用户提交的的URL 服务器上脚本真正的URL】;
 
  路径中的染色部分为参数,匹配时为标准的正则表达式,真实路径中的参数使用【$1】、【$2】、【$3】从左到右依次替代匹配URL中的正则表达式。
 
  验证:
 
  建立一个.htaccess文件,写入以下内容:
 
  ============RewriteEngine onRewriteRule ([a-zA-Z]{1,})/post-([0-9]{1,})/.html test.php?get1=$1&get2=$2============
  保存。
 
  再建立一个test.php文件,写入以下内容:
 
  ============<?phpecho ‘你的get1是:’ . $_GET[‘get1′];echo ‘<br/>';echo ‘你的get2是:’ . $_GET[‘get2′];?>============
 
 
  保存到同目录。
 
  访问http://localhost/news/post-15.html
 
  如果页面显示:
 
  ============
 
  你的get1是:news
 
  你的get2是:15
 
  ============
 
  即宣告伪静态规则成功。



(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读