![]() |
|
|||||||
| 服务器环境搭建 Windows,Linux,IIS,Apache等服务器配置、安全维护以及PHP和MYSQL运行环境讨论。 |
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
#1
IP: 82.116.154.18
|
|||
|
|||
|
果用PHP生成HTML那就难更新!
生成伪静态的话,用Apache的MOD Rewrite方法不太可靠,因为服务器不是我的,大多数服务器是别人的。有可能开有可能不开。 有可能 是LINUX也有可能是WIND。 那么我只有用别的方法找到了一个方法,来自互联网; Code:
function mod_rewrite(){
global $_GET;
$nav=$_SERVER["REQUEST_URI"];
$script_name=$_SERVER["SCRIPT_NAME"];
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
比如讲我的网址:www.xxx.com/index.php 以上是首页,那么我访问www.xxx.com/xx-xx-xx.html这个时候没有 这个页面就会出错或者转向404页! 郁闷!我有点笨,不知道怎么写了。如果是: www.xxx.com/index.php?xx-xx-xx.html这就太明显了! 请问有没有人做过?给个例子!谢谢! |
|
#2
IP: 82.116.154.18
|
|||
|
|||
|
Code:
<?php
function mod_rewrite(){
global $_GET;
//$nav=$_SERVER["REQUEST_URI"];
$nav = '/129244/index.html';
//$script_name=$_SERVER["SCRIPT_NAME"];
$script_name = '/index.html';
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
$aa = mod_rewrite();
var_dump($aa);
echo '<br>';
var_dump($_SERVER["REQUEST_URI"]);
?>
发的那个函数只是对请求的url进行了分解,具体的操作还需要你根据你的url情况自己解决 |
|
#3
IP: 82.116.154.18
|
|||
|
|||
|
Code:
RewriteEngine On # Rewrite requests for sitemap.xml RewriteRule ^zzxj/sitemap.xml$ /zzxj/sitemap.php?target=google [L] # Rewrite requests for urllist.txt RewriteRule ^zzxj/urllist.txt$ /zzxj/sitemap.php?target=yahoo [L] 重写zzxj/sitemap.xml 至PHP程序 |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|