php系统中实现的url重写/隐藏
www.cn-web.com网站大部分地址实现的url重写,因为我写的文章大多与.net技术有关,很多朋友以为这个系统也是基于.net技术的,其实这个系统是基于php+mysql写的,.net技术也可以实现url隐藏,我将在下篇文章中介绍下,今天我说我www.cn-web.com系统中url重写
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文件里加一段配置代码,如下:
ForceType application/x-httpd-php
这样就完成了第一步了,appach服务器看到地址栏里有cnweb这个目录地址后就把它当为了php的处理方式了;
OK,接着我们在根目录下建立cnweb文件,去掉它的扩展名,也就是没有扩展名,呵呵。这个文件里的代码是用php来写的(因为刚才已经将它注册到了appache服务器了)
可能大家已经想到了,在cnweb里我们就要配置下一步如何来转向了。
为了安全性,我这里不贴出我的cnweb文件的代码了,不过可以举个小例子:
$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文件里对参数时行安全处理等相关设置,我就不说了,很简单的。
http://www.cn-web.com/cnweb/0/446/article/
上一篇: php使用递归函数实现数字累加的方法
下一篇: MySQL联表查询详解_MySQL
推荐阅读
-
PHP实现把文本中的URL转换为链接的auolink()函数分享
-
PHP实现获取url地址中*域名的方法示例
-
[Linux] nginx的try_files指令实现隐藏index.php的重写
-
php5.3以上版本中快速url重写的方法
-
php系统中实现的url重写/隐藏
-
CI框架 .htaccess 隐藏url中index.php的解决
-
PHP实现把文本中的URL转换为链接的auolink()函数分享_PHP
-
ThinkPHP中url隐藏入口文件后接收alipay传值的方法_php实例
-
ThinkPHP中url隐藏入口文件后接收alipay传值的方法_PHP
-
PHP实现把文本中的URL转换为链接的auolink()函数分享