`

php url 重写

    博客分类:
  • php
 
阅读更多

摘自: http://wenku.baidu.com/view/921f8b8d680203d8ce2f24f9.html

 

在做项目时,有没有发现一个很不好的问题。如:你得访问地址为:http://localhost/test/index.php?id=1这样,是不是觉得这个链接不好,而且一眼就会被别人看出来你这个网站是用什么技术实现的,而且也不是很安全呢。是不是觉得www.baidu.com/aa/1/1这样的访问地址很清晰并且很眼馋嘛?下来就给大家看看如何实现吧。
配置方面:


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


6.ok了,url重写就搞定了。这只是一个非常简单的例子,大家只要明白了这个例子,相信以大家举一反三的智商,应用到项目中没问题的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics