在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"
);
?>