随笔 - 164  文章 - 0  评论 - 19  阅读 - 11万 

www.cn-web.com网站大部分地址实现的url重写,因为我写的文章大多与.net技术有关,很多朋友以为这个系统也是基于.net技术的,其实这个系统是基于php+mysql写的,.net技术也可以实现url隐藏,我将在下篇文章中介绍下,今天我说我www.cn-web.com系统中url重写的实现。
--------------------------------------------------------------------------------

核心部分是.htaccess文件,默认可能不支持.htaccess,请查看《apache 不支持.htaccess文件如何处理》。
 
首先我们看下一个地址:
http://www.cn-web.com/cnweb/0/445/article/
这个地址的cnweb其实是虚拟的:

为什么没有cnweb这个目录而虚拟主机又认它呢,这就是因为我设置了.htaccess文件了:
.htaccess文件里加一段配置代码,如下:
<Files cnweb>
 ForceType application/x-httpd-php
</Files>
这样就完成了第一步了,appach服务器看到地址栏里有cnweb这个目录地址后就把它当为了php的处理方式了;
OK,接着我们在根目录下建立cnweb文件,去掉它的扩展名,也就是没有扩展名,呵呵。这个文件里的代码是用php来写的(因为刚才已经将它注册到了appache服务器了)
可能大家已经想到了,在cnweb里我们就要配置下一步如何来转向了。
为了安全性,我这里不贴出我的cnweb文件的代码了,不过可以举个小例子:
<?php
$fields = explode('/', $_SERVER['REQUEST_URI']);
$id_pos = array_search('cnweb', $fields);
if( $id_pos !== false )
{
 $c_id = $fields[ $id_pos + 1 ];
 $a_id = $fields[ $id_pos + 2 ];
}
以上通过分析url取得类别ID和文章ID
if( $a_id )
{
$_GET['aid'] = $a_id;
$_GET['cid'] = $c_id;
require_once('showarticle.php');
}
?>

通过以上文章,大家可以看到,其实我显示文章的页面是'showarticle.php?aid=45&cid=0',当我们打开http://www.cn-web.com/cnweb/0/445/article/这个地址时,自动隐式转向是'showarticle.php?aid=45&cid=0'这个地址。
接下来如何设置处理showarticle.php,大家比我更清楚啦,呵呵。
.大家还可以在cnweb文件里对参数时行安全处理等相关设置,我就不说了,很简单的。

文章来源(WEB开发技术知识库):http://www.cn-web.com/cnweb/0/446/article/

 

 

posted on   8user  阅读(3718)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示