在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" );
?>
简单隐藏php,及自定义路由
最新推荐文章于 2021-03-20 01:40:01 发布