php 重写URL

1. 找到apache的安装目录下的conf下的httpd.conf文件,打开文件修改
LoadModule rewrite_module modules/mod_rewrite.so这行代码,他前面有个#号,把#号删掉
2. 还是那个文件,打开,找到
<Directory />
    Options FollowSymLinks ExecCGI Indexes

    AllowOverride None     

  Order deny,allow     

  Deny from all 

    Satisfy all 

</Directory>
这个节点,把None改为All. 3. 重启apache服务
4. 最关键的一点,在你得项目目录下创建.htaccess文件,文件没有名称,看上去只是后缀名
具体创建方法不能直接创建,先创建个txt文件(其他的也行),然后另存问,把名字改为.htaccess,并且选所有文件,创建好后,就要制定规则了。 在文件里写代码:
<IfModule mod_rewrite.c>  RewriteEngine on   //on为打开,off为关闭
 RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2  </IfModule>
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
5. 创建一个php文件吧(这个文件当然要创建到你放.htaccess文件的项目中)
<?php
 echo "你的action:".$_GET[‘action‘];  echo "你的id:".$_GET[‘id‘]; ?>.
然后你在浏览器地址栏中访问:http://localhost/text/a-1.html,这个地址就相当于你访问http://localhost/text/index.php?action=a&id=1这样。是不是觉得这样比较美观呢。
访问后的结果是你的action:a   你的id:1

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。