URL重写学习笔记 Apache+PHP

URL重写学习笔记

 

最近做一个PHP的网站。需要用到URL重写,到网站找了一些资料也没有明白是怎么回事。

 

下面我将基于Apache+PHP的环境

《搜索引擎优化高级编程——PHP版》(我主要通过这本书来学习的)

 

配置:

1LoadModule rewrite_module modules/mod_rewrite.so  启动(将前面的#去了)

2、修改<Directory />

    Options FollowSymLinks

    AllowOverride All

    Order deny,allow

    Deny from all

</Directory>

 

AllowOverride  none 改为 All

3、重启Apache

4、在htdocs(网站目录结构下)的目录下建立一个 .htaccess (这个在windows无法创建,可以通过DOC来创建,不过我去找了一个文件这样的文件)

 

 

示例1

为了方便测试,我在htdocs目录下建立一个product.php的文件

<?php

       echo "You have selected product #". $_GET["id"];

?>

 

http://localhost:8070/product.php?id=2;

 

ResultYou have selected product #2;

 

如果我要实行这个效果:

http://localhost:8070/product.html

RewriteEngine on  这个要打开啊。

RewriteRule ^product/.html$  product.php?id=123

 

Result: You have selected product #123

 

http://localhost:8070/product/p123.html

RewriteRule ^product/p([0-9]*)/.html$  product.php?id=$1 [L]

Result: You have selected product #123

 

 

http://seophp.example.com/product.php?category_id=2&product_id=1 实现这样的URl

 

<?php

       echo "You have selected product # ". $_GET["id"];

       echo "You have selected product category # ". $_GET["cid"];

?>

 

RewriteRule ^Products/C([0-9]*)/P([0-9]*)/.html$ /product.php?category_id=$1&product_id=$2 [L]

 

 

http://localhost:8070/product/tools-c1234/tool-p123.html

 

RewriteRule  ^product/.*-c([0-9]+)/.*-p([0-9]*)/.html$   /product.php?cid=$1&id=$2 [L]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值