首頁 php教程 php手册 php系统中实现的url重写/隐藏

php系统中实现的url重写/隐藏

Jun 06, 2016 pm 07:52 PM
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/

 

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles