phpurl伪静态
Ⅰ php伪静态、url重写
你的想法是完全可行的,我举个例子告诉你
http://hi..com/changjie_vip/item/712b720b1c9781c5915718c1
你可以先看看这个文章,不懂的可以交流
apache一般都是在目录下创建.htaccess来实现伪静态,IIS不是这样的,这跟PHP本身没有关系,这是http服务器与客户端浏览器之间的约定
比如说
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$
index.php?action=$1&id=$2
意思就是说当你访问类似 a_1.html里的时候 apache自动跳转到 index.php?action=$1&id=$2的地方,其中$1就是左边重写规则的第一个变量 ([a-zA-Z]{1,}),$2就是([0-9]{1,})的第二个变量
Ⅱ thinkphp伪静态去掉栏目url
可以通过URL重写隐藏应用的入口文件index.php。
首先明确主要的任务有两个:一个是实现所谓的伪静态,也就是,使用所有ThinkPHP的ActionURL后添加上.html,以便于搜索引擎的收录,不过这并不意味着原来的ActionURL访问方式不使用。无论加不加html,都能够访问Index这个Action中的index方法。同时还有一个任务就是URL不再区分大小写。唯一需要注意的是,此配置文件的实质是php的数组array,里面的逗号什么的,请注意。之后,关于URL的重写。
Ⅲ 如何将php的url生成伪静态的url
要用到404错误转址
也就是404会转到页面哪个,名后404再来跳
比如http://www.bdhly.com/list56.html
这个页是不存在的,那么就会出现404错,此时404用你的php页,取前一页的地址,再正则也好,别的办法也好,取出list56.html
再组成list.php?id=56,再页内做个跳转也行,还是说直接include,就看你自己想怎么写了
Ⅳ PHP 伪静态URL重写
RewriteRule ^index.php?r=default/news/index&id=/([0-9]+/) /news/index-$1.html
另一个同理
Ⅳ php如何实现网页静态
一、静态化的优点:
1有利于搜索引擎收录网站页面的信息:搜索引擎更喜欢静态的,更变于抓取,搜索引擎SEO排名会更容易提高。
2静态网页化网页稳定
3可以提高网页加载速度
4减轻服务器负担,浏览器不需要频发调用数据库。
5数据库出错不会影响正常访问
二、伪静态
PHP伪静态:是利用Apache mod_rewite实现url重写的方法
改写访问地址,能够通过URL的PATHINFO模式来改动它。让它看上去更像一个静态页面。从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化
三、纯静态化
纯静态化,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存。而且在ob_start之前不能有不论什么输出,否则运行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串。第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回True,失败返回False。
<?php
if(file_exists("match.html") && (time()-filemtime("match.html"))<300)
{
//如果存在对应的静态文件,则直接访问
require_once("match.html");
}else{
//这里用数组来仿真数据库操作,现实一般都是操作数据库得到对应数据
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//载入模板
require_once("muban.php");
file_put_contents("match.html",ob_get_clean());
require_once('match.html');
}
Ⅵ php伪静态、URL重写怎么实现
首先我举例子是APACHE下的,使用.htaccess文件形式进行rewrite。
你程序目录放入.htaccess,内容如下:
RewriteEngine On
RewriteRule ^(\w+)\.html$ $1.php [NC,L]
访问的时候
被映射到
被映射到
更多方法在于你自己的尝试和挖掘,不要太依赖于别人的解决方式。
Ⅶ PHP网站如何实现网页伪静态或静态
静态就是生成HTML,适用与流量非常大的网站.
而
伪静态
分为2种,一种是
URL重写
,就是根据正则匹配到指定URL,在我看来算不上真正的伪静态.
另外一种就是将所有的请求定向到某个文件,然后由这个文件统一处理,
Ⅷ 伪静态PHP url重写问题
你的想法是完全可行的,举个例子告诉你
http://hi..com/changjie_vip/item/712b720b1c9781c5915718c1
你可以先看看这个文章,不懂的可以交流
apache一般都是在目录下创建.htaccess来实现伪静态,IIS不是这样的,这跟PHP本身没有关系,这是http服务器与客户端浏览器之间的约定
比如说
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$
index.php?action=$1&id=$2
意思就是说当你访问类似 a_1.html里的时候 apache自动跳转到 index.php?action=$1&id=$2的地方,其中$1就是左边重写规则的第一个变量 ([a-zA-Z]{1,}),$2就是([0-9]{1,})的第二个变量
Ⅸ PHP URL 伪静态化问题!
.是表示所有字符,应该把_排除掉,这样写:[^_]。
所以,答案应该是:
^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)\.html$ $1.php?$2=$3&$4=$5&$6=$7
Ⅹ php伪静态如何获取地址栏url
程序伪静态后,搜索引擎又收录了之前的大量动态地址,如何处理呢?
你可能以为设置301就可以了,但似乎301更搜索引擎更新过来也是需要相当一段时间,而搜索到以前的动态地址,访问还是有点不好,毕竟还是希望访问静态地址,这里就需要在页面里做一下判断了。
首先,用了php内置函数,因程序伪静态了,发现取得的都是真实的url地址,和显示的url根本是两样。
网上找了很久,都没有找到办法。问题实再是很棘手。
无意中看到一个asp的例子,其中包含:http_x_rewrite_url,于是用php试了下,没想到却可以获取到地址栏的地址,至此问题解决。
例子,php伪静态如何获取地址栏url。
代码示例:
<?php
if(strstr($_server["http_x_rewrite_url"],".php"){//判断是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳转到新的静态地址。
exit;
}
//只适用于windows的服务器,liunx则需要用$_server['request_uri']来获取
if(strstr($_server['request_uri'],".php"){//判断是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳转到新的静态地址。
exit;
//只要输入以前的动态地址都会以301方式转到新的静态地址。
?>