RT,本来我是想到直接在htaccess文件里面路由重写,然后经过单一入口点来进行处理,这个单一入口点是为访问者做一些验证的操作,如果不符合条件则直接T掉,但是这样就要局限与apache服务器,也就是说,当我换个IIS服务器的时候就会出一些问题了。当然,我也看了一些框架的实现,他们一般都不借助htaccess文件的,取而代之的是用PATH_INFO来进行路由,但是一般都要实现编译功能,有没有其他的方法可以推荐下?本人刚学PHP,希望各位能帮帮忙
调试欢乐多
我上面说我试过用PATH_INFO来分发处理,但是有一个问题是我所在的文件也可以直接通过确切的URL进行访问,这一点很头疼,而我看过一些框架的实现,他们的文件都是模版文件,并不是直接定位就可以访问的,对于这一点我就很头疼
需要你为每个可以直接通过确切的URL进行访问的php文件加入访问限定,只能由index.php转发,不能直接访问
假设url类似
http://project/index.php?module=article&action=edit&id=1&catid=2
index.php<?phpdefine('FROMGATE',true);
$module = $_GET['module'];
$task = $_GET['task'];
ob_start();
include_once($module.'/'.$task.'.php');//根据url转发过去的具体访问文件
$finalContent = ob_get_contents();
ob_end_clean();echo $finalContent;
?>article/edit.php<?php
defined('FROMGATE') OR Die('你不能直接访问此页面');//不是由index.php转发过来的就die给你看。
//php codes following
?>