php函数实现虚拟主机url优化
2007-08-20 03:16
267 查看
我的博客使用的是虚拟主机,也想实现url优化,但是我没有服务器权限,怎么办?
很简单,我们可以从$_SERVER[”REQUEST_URI”]和$_SERVER['PATH_INFO']来下手:
原网站访问地址是 http://www.phpweblog.net/test.php?a=1&b=2&c=3 使用了 mode_rewrite 函数后,就可以用 http://www.phpweblog.net/test.php/a/1/b/2/c/3来访问了,而且程序基本不用修改.
function mod_rewrite(){
if ( isset ( $_SERVER [ ' PATH_INFO ' ])){
$url = substr ( $_SERVER [ ' PATH_INFO ' ] , 1 );
$url = explode ( ' / ' , $url );
foreach ( $url as $key => $value ){
if ( $key % 2 != 1 ){
if ( $value != '' ) $_GET [ $value ] = $url [ $key + 1 ];
$querystring [] = $value . ' = ' . $url [ $key + 1 ];
}
}
$_SERVER [ ' QUERY_STRING ' ] = implode ( " & " , $querystring );
$_SERVER [ ' PHP_SELF ' ] = substr ( $_SERVER [ ' PHP_SELF ' ] , 0 , strpos ( $_SERVER [ ' PHP_SELF ' ] , ' .php ' ) + 4 );
$_SERVER [ ' REQUEST_URI ' ] = $_SERVER [ ' PHP_SELF ' ] . ' ? ' . $_SERVER [ ' QUERY_STRING ' ];
}
}
mod_rewrite();
http : // www.phpweblog.net/test.php/a/1/b/2/c/3
echo ' <pre> ' ;
echo " GET数组如下:<br /> " ;
print_r ( $_GET );
Array
(
[a] => 1
[b] => 2
[c] => 3
)
很简单,我们可以从$_SERVER[”REQUEST_URI”]和$_SERVER['PATH_INFO']来下手:
原网站访问地址是 http://www.phpweblog.net/test.php?a=1&b=2&c=3 使用了 mode_rewrite 函数后,就可以用 http://www.phpweblog.net/test.php/a/1/b/2/c/3来访问了,而且程序基本不用修改.
function mod_rewrite(){
if ( isset ( $_SERVER [ ' PATH_INFO ' ])){
$url = substr ( $_SERVER [ ' PATH_INFO ' ] , 1 );
$url = explode ( ' / ' , $url );
foreach ( $url as $key => $value ){
if ( $key % 2 != 1 ){
if ( $value != '' ) $_GET [ $value ] = $url [ $key + 1 ];
$querystring [] = $value . ' = ' . $url [ $key + 1 ];
}
}
$_SERVER [ ' QUERY_STRING ' ] = implode ( " & " , $querystring );
$_SERVER [ ' PHP_SELF ' ] = substr ( $_SERVER [ ' PHP_SELF ' ] , 0 , strpos ( $_SERVER [ ' PHP_SELF ' ] , ' .php ' ) + 4 );
$_SERVER [ ' REQUEST_URI ' ] = $_SERVER [ ' PHP_SELF ' ] . ' ? ' . $_SERVER [ ' QUERY_STRING ' ];
}
}
mod_rewrite();
http : // www.phpweblog.net/test.php/a/1/b/2/c/3
echo ' <pre> ' ;
echo " GET数组如下:<br /> " ;
print_r ( $_GET );
Array
(
[a] => 1
[b] => 2
[c] => 3
)
相关文章推荐
- apache在虚拟主机中实现用户验证
- 虚拟主机上用Asp.net实现Urlrewrite
- [App] Nginx上虚拟主机的实现过程
- Centos6.3下apache实现SSL虚拟主机双向认证
- httpd2.2 虚拟主机、访问控制及https的实现
- 虚拟主机设置(IIS一机多站的实现方法)
- APMServ下实现虚拟主机伪静态化方法
- 如何用ASP代码实现虚拟主机
- SNI: 实现多域名虚拟主机的SSL/TLS认证
- 内网穿透 Ngrok 不用买云服务器 虚拟主机也能实现个人服务器让外网访问
- Linux 系列(六)——Nginx实现多虚拟主机配置
- wampserver下配置虚拟主机 实现多站点支持
- Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
- apache 配置虚拟主机,实现转发
- 源码编译apache实现CGI,虚拟主机,httpds安全访问,status服务状态信息,压缩等功能。
- 实现Apache虚拟主机的两种方案
- Linux运维笔记-文档总结-Apache基本配置的介绍和语言支持,虚拟主机,访问控制的实现
- linux虚拟系统与windows主机共享文件之用vmware-tools设置实现
- Apache之——多虚拟主机多站点配置的两种实现方案
- 【虚拟主机篇】asp页面实现301重定向方法