PHP当前页面条件判断

发布网友 发布时间:2022-04-06 00:40

我来回答

5个回答

热心网友 时间:2022-04-06 02:10

Apache服务器上有一个模块(非缺省):
mod_rewrite:
URL REWRITE功能之强大足够写上一本书了,哇咔咔
如果,当我需要将news.asp?id=234映射成news/234.html时,只需设置:
RewriteRule /news/(/d+)/.html /news/.asp/?id=$1[N,I], 这样就把/news/234.htm这样的请求映射成了/news?id=234.

看起来变成静态化了,其实是请求的原来的带id=的链接额

总结一句,改apache配置文件 要先启用改模块
在httpd.conf文件里找
LoadMole rewrite_mole moles/mod_rewrite.so
去掉前面的#号额

再替换规则:
RewriteRule /news/(/d+)/.html /news/news/.php/?id=$1 [N,I]

当然要根据具体情形修改,你用的不是news额追问你看懂我的提问了吗
答非所问

热心网友 时间:2022-04-06 03:28

看看下面的是否满足你的要求。
不知道,你的这个当前和非当前?如何区分的? 所以我写了一个根据实际物理名称进行区分。

<?
$pageStyle = "默认样式";

//获取当前URL
$ManUrl = substr($_SERVER["REQUEST_URI"],1);

//正则替换规则
$RuleArray = array();
$RuleArray[] = array("/index.php\?main_page=([a-z]+)_([0-9]+)/i","\${1}\${2}.html");
$RuleArray[] = array("/index.php\?main_page=(\w+)/i","\${1}.html");

//替换
$TempUrl = $ManUrl;
for($i=0;$i<count($RuleArray);$i++)
{
$TempUrl = preg_replace($RuleArray[$i][0],$RuleArray[$i][1],$TempUrl);
}

/*
当前页面 http://www.baidu.com/index.php?main_page=aaa_1

$TempUrl的值是:
aaa1.html

$thisFile 是实际物理文件名称。

例如:
当前访问文件是:
http://www.baidu.com/aaa1.html

$thisFile的值是:
aaa1.html
*/

//实际物理地址文件名称
$thisFile = substr(__FILE__,strrpos(__FILE__,"\\")+1);

if($TempUrl == $thisFile)
{
$pageStyle = "当前页面样式";
}

?>

热心网友 时间:2022-04-06 05:02

直接赋值,$pageStyle=$_GET['main_page'];追问能详细指点一下吗? 谢谢

热心网友 时间:2022-04-06 06:54

这么多 。。。。

热心网友 时间:2022-04-06 09:02

$str = "aaa_1";
if( ereg("^[a-z]+_[0-9]+$", $str)){

$arr = explode("_",$str);
$pageStyle = $arr[0].$arr[1].".html";
}elseif(ereg("^[a-z]+_[a-z]+$", $str) || ereg("^[0-9]+$", $str) || ereg("^[a-z]+$", $str) ){
$pageStyle = $str.".html";
}else{
$pageStyle = "其它样式,自己设定";
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com