ReWrite学习笔记小结

比如,下面,我要实现这样的URL: 
http://xxx.com/0725 
http://xxx.com/0726 
http://xxx.com/0727 

上面xxx.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思,就是显示07月25日的历史上发生了什么事情,类似这样。这样看起来就很美观、整齐了。要不然,可能的地址就是: 
http://xxx.com/index.php?t... 
http://xxx.com/index.php?t... 
http://xxx.com/index.php?t... 

现在我就是要实现把 index.php?today= 隐藏掉。以下是代码:

1..htaccess 文件 
<IfModule mod_rewrite.c> 
  RewriteEngine On 
  RewriteBase / 
  RewriteCond %{REQUEST_FILENAME} !-f 
  RewriteCond   %{REQUEST_FILENAME} !-d 
  RewriteRule ^([0-9]+)$   /index.php?today=$1 
  </IfModule>

粗体字这里我说明一下,其它的按这个格式吧,具体我现在也不理解。 
[0-9]的意思是,参数只能是0~9这些数字,如果你要包含任何字符,就改为:

RewriteRule ^(.+)$ /index.php?today=$1

这里[0-9]改为了. ,这个.就代表任意字符。当然复杂的还很复杂,我们暂时不管。

2.index.php文件  


代码如下:

<?php      
//rewrite 测试      
$uid =$_REQUEST['today'];      
?>      
<HTML>      
<HEAD>      
<TITLE>rewrite 测试</TITLE>      
</HEAD>      
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">      
今天是<?php echo $today;?>,看看历史上的今天都发生了什么事情?<br>      
……      
</BODY>      
</HTML>

这里参数就会传递给index.php文件里的$today,在这个程序内,你就可以根据参数,进行处理,如查询数据库啦、做运算啦等,然后再显示相应的数据出来,就可以了。
实现方法2 


代码如下:

<?php     
//url示例:soft.php/1,100,8630.html     
//利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html  也就是执行脚本名后面的部分     
if(@$path_info =$_SERVER["PATH_INFO"]){     
    if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){     
        $gid     =intval($arr_path[1]); //取得值 1     
        $sid     =intval($arr_path[2]);  //取得值100     
        $softid  =intval($arr_path[3]);  //取得值8630     
        //相当于soft.php?gid=1&sid=100&softid=8630     
    }else die("Path:Error!");     
}else die("Path:Nothing!");

echo($gid);     
echo("<br>");     
echo($sid);     
echo("<br>");     
echo($softid);     
?>

(0)

相关推荐

  • ReWrite学习笔记小结

    比如,下面,我要实现这样的URL:  http://xxx.com/0725  http://xxx.com/0726  http://xxx.com/0727  - 上面xxx.com是一个记录<今天是>这样的历史内容的一个测试站点.上面链接的意思,就是显示07月25日的历史上发生了什么事情,类似这样.这样看起来就很美观.整齐了.要不然,可能的地址就是:  http://xxx.com/index.php?t...  http://xxx.com/index.php?t...  http:/

  • Vue-Router基础学习笔记(小结)

    vue-router是一个插件包,要先用npm进行安装 1.安装vue-router npm install vue-router yarn add vue-router 2.引入注册vue-router import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) 3.链接跳转 <router-link to='/home'></router-link> //你可以在template中使用它

  • BASH 学习笔记小结

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您

  • MySQL学习笔记小结

    慢速SQL:执行时间超过给定时间范围的查询就称为慢速查询. 在MySQL中如何记录慢速SQL? 答:可以在my.cnf中设置如下信息: [mysqld] ; enable the slow query log, default 10 seconds log-slow-queries ; log queries taking longer than 5 seconds long_query_time = 5 ; log queries that don't use indexes even if

  • JS学习笔记之数组去重实现方法小结

    本文实例讲述了JS学习笔记之数组去重实现方法.分享给大家供大家参考,具体如下: 操作的数组 let arr=[0,1,23,'1',4,2,8,5,5,6,9,'asdasd','5'] 1. 利用ES6 的set 来进行数组去重 console.time("set") let type1=new Set(arr) console.log(type1) type1=[...type1] console.log(type1) console.timeEnd("set"

  • Python3.4学习笔记之类型判断,异常处理,终止程序操作小结

    本文实例讲述了Python3.4类型判断,异常处理,终止程序操作.分享给大家供大家参考,具体如下: python3.4学习笔记 类型判断,异常处理,终止程序,实例代码: #idle中按F5可以运行代码 #引入外部模块 import xxx #random模块,randint(开始数,结束数) 产生整数随机数 import random import sys import os secret = random.randint(1,10) temp = input("请输入一个数字\n")

  • JavaScript学习笔记之DOM基础 2.4

    DOM的发展,与WEB标准化的大趋势相关甚密.只有基于正确的语义逻辑,DOM才能正确地发挥其功用.如今,正确的语义结构.表现与内容分离等要求,都已经成为网页设计中的基本要求.因此,在网页前端开发中,DOM的存在,无疑是为表现层.行为层甚至内容层面的连接提供了一个绝佳的API,成为热门的Ajax应用中不可或缺的组成部分. 一.平稳退化 1.概念 早期,在未使用JavaScript之前,网页中的内容可以正常显示出来,用户可以通过外设(如鼠标)操控浏览到相关内容,这种浏览体验对用户而言可能并不理想.

  • Python基础语言学习笔记总结(精华)

    以下是Python基础学习内容的学习笔记的全部内容,非常的详细,如果你对Python语言感兴趣,并且针对性的系统学习一下基础语言知识,下面的内容能够很好的满足你的需求,如果感觉不错,就收藏以后慢慢跟着学习吧. 一.变量赋值及命名规则 ① 声明一个变量及赋值 #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi name1="solo" name2=name1 print(name1,name2) name1 = &q

  • Angular 5.x 学习笔记之Router(路由)应用

    序言: Angular APP 视图之间的跳转,依赖于 Router (路由),这一章,我们来讲述 Router 的应用 实例讲解 运行结果如下. 设置了3个导航栏, Home. About.Dashboard. 点击不同的导航栏,跳转到相应的页面: 创建3个 component ng g c home ng g c about ng g c dashboard 路由与配置 (1)**引入 Angular Router ** 当用到 Angular Router 时,需要引入 RouterMod

  • JavaScript学习笔记之DOM操作实例分析

    本文实例讲述了JavaScript学习笔记之DOM操作.分享给大家供大家参考,具体如下: 一.DOM概念 1. "D":Docment,指的是文档 2. "O":Object,指的是对象,在javascript有三种对象:用户定义对象.内建对象(JavaScript语言对象.如Math,Array).宿主对象(浏览器对象) 3. "M":Model,值得是Model,某种事物的表现形式 二.节点 1. 元素节点 :<body> <

随机推荐