简单隐藏php,及自定义路由

在apache的http.conf中配置

# 使PHP看上去像其它的编程语言,用php解析以下扩展名的文件
AddType application/x-httpd-php .asp .py .pl .html .htm

或者设置php为默认文件
http.conf-apache
# Set default file type to PHP
DefaultType application/x-httpd-php
然后在php.ini-php中配置来隐藏php后缀
expose_php = Off
并且php文件也写为无后缀文件
你的url就是这样的www.domain.com/test?key=value

上面的AddType配置后的url则长的像这样www.domain.com/test.html?key=value

还有一种方法来代码中用index.php隐藏php后缀,并路由到对应的模块,原理是截获$_SERVER[QUERT_STRING]并对其进行解析处理,
然后包含相对应的模块
产生的结果像这样
www.domain.com/?article/id/54/type/news&cat=2
原始url应该是这样的
www.domain.com/modul_directory/article.php ?id=54&type=news&cat=2


index.php
--------------
<?php

// PARSING QUERY STRING
$QS = explode ( "&" , $_SERVER [ 'QUERY_STRING' ]);
$QS = explode ( '/' , $QS [ 0 ]);

// IF Modul is Undefined set it to index
if (! $QS [ 0 ]) $MODUL = 'index' ;
else
$MODUL = strtolower ( $QS [ 0 ]);

// WE can make a Variable $_QUERY
// for alternative _GET
for ( $i = 1 ; $i < count ( $QS ); $i += 2 )
{
  
$_QUERY [ $NVAR ]= $NVAR = $QS [ $i ];
   $
$NVAR = $QS [ $i + 1 ];
}

// Check the Modul is exists?
if (! file_exists ( "modul_directory/{$MODUL}.php" ))
  
$MODUL = "index" ;

#### THIS IS EXAMPLE TO
IMPLEMENTATION THE SCRIPT
// Load The Template
include( "template.php" );
// Load The Module
include( "modul_directory/{$MODUL}.php" );
// Load The
Footer
include( "footer.php" );
?>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值