thinkphp3.2 伪静态怎么不收录伪静态的链接收录了带参数的

thinkphp&静态&伪静态&路由
(1)url转变
http://127.0.0.1/index.php/Index/index/id/2
http://127.0.0.1/a/2.shtml
(2)生成静态缓存
---------------------------------------------------------------------
apache 2.2
开启mod_rewrite
&&& 配置文件
AllowOverride All
---------------------------------------------------------------------
APP_PATH:项目目录
THINK_PATH:框架目录
(1)APP_PATH/conf/config.php
return array(
&&&&&&&&&&&&
&&&&&&&&&&&&
'HTML_CACHE_ON' =& true, // 开启静态缓存
&&&&&&&&&&&&
&&&&&&&&&&&&
'URL_ROUTER_ON' =& true, // 开启路由转换
(2)APP_PATH/conf/htmls.php
return array(
&&&&&&&&&&&&
&&&&&&&&&&&&
'Index:index' =& array('Index/{id}'),
(3)APP_PATH/conf/routes.php
return array(
&&&&&&&&&&&&
&&&&&&&&&&&&
array('a','Index/index','id'),
(4)APP_PATH/.htaccess(跟入口文件index.php同一级目录)
& (1)必须开启mod_rewrite模块(改变配置必须重启apache服务器)
& (2)配置文件httpd.conf,该目录内设置 AllowOverride
ALL(改变配置必须重启apache服务器)
& (3)文件内容(无需重启apache)
&IfModule mod_rewrite.c&
&& RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
&/IfModule&
[/content]
(5)THINK_PATH/Common/convention.php
'URL_MODEL' =& 2, // 开启rewrite模式
'URL_HTML_SUFFIX' =& '.shtml', // 伪静态下的后缀名
注:写在APP_PATH/Conf/config.php下貌似没起作用
(6)Action模块编写
APP_PATH/Lib/Action/IndexAction.class.php
class IndexAction extends Action{
&&&&&&&&&&&&
public function index() {
&&&&&&&&&&&&&&&&
$this-&assign('id',$_GET['id']);
&&&&&&&&&&&&&&&&
$this-&display();
&&&&&&&&&&&&
访问地址: http://127.0.0.1/a/8888.shtml
静态文件: APP_PATH/Html/Index/8888.html生成
注意:生成静态文件后下次访问会直接访问静态html
(7)在模板里使用U方法,统一url格式
访问路由修改后的(http://127.0.0.1/a/111.shtml):&a
href="{:U('a/111')}"&test1&/a&&br
访问不带路由的(http://127.0.0.1/Index/index/111.shtml):&a
href="{:U('Index/index/111')}"&test1&/a&&br
注意:U方法的路由支持 仅支持简单路由,不支持泛路由和正则路由(来自官方手册,5.2.8 URL生成)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。下次自动登录
专注于PHP技术研究及学习
现在的位置:
ThinkPHP实现伪静态如何去掉目录中的index.php
ThinkPHP中默认的URL地址是形如这样的:http://localhost/Myapp/index.php/Index/index/
Myapp是我的项目文件名,默认的访问地址是上面这样的。为了使URL更加简介友好,现在要去掉中间的index.php,方法如下:
1。确认httpd.conf配置文件中加载了mod_rewrite.so 模块,加载的方法是去掉mod_rewrite.so前面的注释#号
2。讲httpd.conf中的Allowoverride
None 将None改为All
3。打开对应的项目配置文件,我的项目配置文件是Myapp/Conf/config.php ,在这个配置文件数组中增加一行,‘URL_MODEL’=&2
4。在项目的根目录下面建立一个.htaccess文件,里面写入下面的内容:
&IfModule rewrite_module&
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
&/IfModule&
如果你的服务器支持rewrite,现在就可以通过http://localhost/Myapp/Index/index/访问Index模块下面的index操作。
【上篇】【下篇】
您可能还会对这些文章感兴趣!
您必须才能发表留言!
同分类最新文章原文:/link?url=CvhnEYB2F45C1uvMBXy6nOQ8Ph6wWwclJPt2KyP1tPkbFDbqnmbY5bpQO3Vf-0TM9iG6JSZe0v2J246Y-mn7BK
其实网站形态分两种,静态和动态,伪静态并不是真正的静态,实质上也是动态页面。&静态页面,除了我们常见的.htm和 .html以后,.asp .php .jsp也可以是静态的,关键是看.asp .php .jsp这些页面是否调用了数据库里的东西,如果没有调用,它就是静态页面,调用了,就是动态页面。&动态页面的含意就是,网页会根据访问者的请求,从服务器数据库里筛选访问者想要的内容显示到访问者的浏览器上,不同的人访问同一页面,会看到不同的内容,这个网页本身里并没有数据,只有一些代码,访问者看到的,都是服务器里调出来的。&而静态页面,是事先把文字图片都放到页面里了,不需要从数据库里调,访问者访问一个页面,会直接从服务器把这个页面读出来显示到访问者的浏览器里,不需要数据库的支持。&伪静态页面,其目的是为了更好的被搜索引擎收录而通过一定的规则,把动态页面的地址转换成以htm或html结尾的地址,看起来是静态的,实际是依然是动态页面。&现在很多CMS网站程序,都可以把动态页面直接生成真静态的,就是所访问的页面是真真实实存的,根静态页面一样。这样的好处是访问速度快,不需要频繁去读取筛选服务器里的数据,减轻了服务器的压力,同时也能更好地被搜索引擎收录。
原文:/xnkj/466.html
所谓网站伪静态,就是站长们常说的伪静态,主要是站长们为了增加搜索引擎的友好度,方便网站内容被搜索引擎收录而诞生的。类似网站上常用的301重定向、404页面的设置等在SEO方面是必不可少的。
  网站伪静态是什么样子的呢?举个简单例子:个人域名备案流程,这样以.html为后缀的就是一个典型的静态网址,也就是网站伪静态的表现形式。相对于伪静态的是动态网址,/yumingjiexi?id=1234这样链接中带有问好的就是一个动态的网址。  网站伪静态有什么好处呢?伪静态的存在必然有它的意义,下面我们就说说网站伪静态的好处在哪里:  1、网站前期如果网站是伪静态的话,比较利于搜索引擎收录,而动态的就不容易收录了。  2、伪静态对于SEO的意义重大,真正的静态页面空间储存量大,进行删除或者更新这些html文件时可造成大量文件碎片,破坏磁盘坏道,而伪静态可以更好的缓解服务器的压力,增强搜索引擎对页面的收录;动态页面虽然可以实时更新,但是有时会导致死循环,对搜索引擎不友好,而伪静态却不会出现这种情况。  但随着搜索引擎的技术不断的更新,渐渐的搜索引擎对动态页面也开始能识别,这里在百度优化官方指南2.0里明确的给出指明静态页面的ULR完美可以增加用户体验,动态页面依然也可以收录,只要URL的参数不要过多的就行。
为什么搜索引擎会不收录带问号的网址?
原文:/blog/archives/how-to-judge-a-page-if-is-a-static-html.html
&搜索引擎对那些带问号的网页的收录和排名是很谨慎的,一般不轻易收录,更不给予好的排名。揪根掘底的来说,为什么搜索引擎会不收录带问号的网址?因为搜索引擎怕由于问号而进入死循环(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的地址是不会进去的,伪静态对于搜索引擎来说,其实就是静态,因为地址中没有带问号,所以伪静态收录不成问题。
& & & 现在很多网站都是使用以&.html&为扩展名的网页,这样做的好处是有利于搜索引擎收录和排名,或者是其他目的,如可以缩短网址使人容易记住。不过有意思的是并不是所有的以&.html&扩展名的网页都是静态的,换句话来说,它其实是一张动态的网页,并非真实的静态网页。
&&&&& 我们有时感到迷惑,到底自己访问的html网页是静态还是伪静态?当然,考据这个一般意义不大,只不过是满足一下好奇心而已。技术控就是这么无聊~问题特别多,对一些不知道的东西总希望揭开谜底。
&&&&&&判断网页是真静态还是伪静态的简单方法
&&&&& 这里介绍三种判断网页是真静态还是伪静态的简单方法。
&&&&&&IE浏览器用户
&&&&&&&用IE浏览器打开网页,注意,要IE浏览器,打开后,在地址栏里输入&javascript:alert(document.lastModified)&,按回车键,就会看到一个弹窗小窗,里面是一个时间。如下图所示:
IE查看网页最后更新时间
&&&&& 多次刷新网页,用同样的方法,比较弹窗的时间,如果都是一样的,那就是真实的静态网页,否则就是伪静态(动态网页)。
&&&&&&其他浏览器(Chrome)用户
&&&&& 不过上述的方法在其他浏览器里如Chrome并不适用。(注意,该方法在Firefox新版里不适用了)
&&&&& Chrome浏览器可使用如下方法:
&&&&& 先用浏览器(以Chrome为例)打开一个网页如:&,等网页完全打开后进入浏览器的控制台,方法:"开发者工具"-&错误控制台&,快捷键:shift+ctrl+J& ,然后在控制台里面输入:alert(document.lastModified);&,按回车键后查看最后修改时间并记录。
错误控制台
Chrome查看网页最后修改时间
&&&&& 多次刷新网页,用同样的方法,比较弹窗的时间,如果都是一样的,那就是真实的静态网页,否则就是伪静态(动态网页)。
&&&&&&从网页header查看网页最后修改时间
&&&&& 第三种方法是,从网页header查看网页最后修改时间。
&&&&& 打开检测工具,,输入你要检测的网页地址,得到header信息,查看&Last-Modified&这个项目的时间,测试几次,比较下如果都是一样的,那就是真实的静态网页,否则就是伪静态(动态网页)。
从网页header查看网页最后修改时间
&&&&&&知识扩展:
&&&&&&网址切勿带问号
&&&&& 不管是真静态还是伪静态,只要网站访问速度够好,都不影响搜索引擎的收录和排名,所以不用纠结这方面的问题。
&&&&& 而对于伪静态与那些带问号的网址相比,伪静态的优势是显而易见的。
&&&&& 搜索引擎对那些带问号的网页的收录和排名是很谨慎的,一般不轻易收录,更不给予好的排名。揪根掘底的来说,为什么搜索引擎会不收录带问号的网址?因为搜索引擎怕由于问号而进入死循环(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的地址是不会进去的,伪静态对于搜索引擎来说,其实就是静态,因为地址中没有带问号,所以伪静态收录不成问题。
&&&&&&伪静态的坏处
&&&&& 有人测试过,"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂,我的ISS数是1000"。
&&&&& 我们不用怀疑这个说法的真实性,其实由于伪静态是用正则判断而不是真实地址,判断到底显示哪个页面的艰巨工作需要CPU的计算来完成,因此需要消耗更多的内存来处理,同时CPU会持续上升,这正是伪静态最大的弊病。
&&&&& 正是由于这个原因,所以网站在采用伪静时需要站长斟酌三分,谨慎考虑清楚。
discuz论坛系统,后台就有一个设置伪静态功能,开启伪静态后,动态网页即被转换重写成静态网页类型页面,通过浏览器访问地址和真的静态页面没区别。前提服务器支持伪静态重写URL Rewrite功能。
原文:/html/h63.shtml?jdfwkey=4ts4n3
什么是伪静态,伪静态作用伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟&?&加参数来读取数据库内不同资料。很典型的案例即是discuz论坛系统,后台就有一个设置伪静态功能,开启伪静态后,动态网页即被转换重写成静态网页类型页面,通过浏览器访问地址和真的静态页面没区别。前提服务器支持伪静态重写URL Rewrite功能。
需要伪静态功能地方考虑搜索引擎优化SEO,将动态网页通过服务器处理成静态页面,如/jk/fd.php?=12这样的动态网页处理成/jk-fd-12.html这样格式静态页面,常见的论坛帖子页面,都是经过伪静态处理成静态页面格式页面。考虑网站所用的程序语言不易被发现,经过重写来伪静态来将动态网页的程序后缀变为html的静态页面格式。
伪静态的利与弊当然犹如一篇文章的作者所说的:"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂,我的IIS数是1000。&确实是这样的,由于伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病。我们应该选择伪静态还是真静态?1、使用真静态和假静态对SEO来说没有什么区别2、使用真静态可能将导致硬盘损坏并将影响论坛性能3、使用伪静态将占用一定量的CPU占有率,大量使用将导致CPU超负荷4、最重要的一点,我们要静态是为了SEO所以:1、使用真静态的方法可以直接排除了,因为无论怎么生成,对硬盘来说都是很伤的。2、既然真伪静态的效果一样,我们就可以选择伪静态了。3、但是伪静态大量使用会造成CPU超负荷。4、所以我们只要不大量使用就可以了。5、既然静态只是给SEO看的,我们只需要伪静态给SEO就行了,不需要给用户使用。6、所以我们只要在专门提供给SEO爬的Archiver中使用伪静态就可以了。7、谢谢大家耐心看我写的文章。8、有何不解的地方或是有不同的看法欢迎提出。关于伪静态和真静态的评论
  真正的静态化和伪静态还是有本质的区别的。为浏览用户处理一个纯粹htm和一个调用多个数据的php在CPU的使用率方面明显前者少。记得原来有个人说下载硬盘读写频繁,他这么说好像读取数据库不用读写磁盘似的,何况还有一大堆缓存的零散php也是放在硬盘的,这些读取不用磁盘操作么?可笑。读取单个htm+图片Flash等附件就可以实现的目的,何苦要读数据库又要读php缓存文件又要重新整合数据输出再+图片Flash等附件这么大费周章呢?CMS首页不需要很多的互动的,论坛那一套不应该拿到这里来用,相反应该更多考虑的是:美观!兼容!信息的直观!性能!还有稳定!
伪静态查考-
具体伪静态实现可以根据自己所用的语言写的网站去百度或谷歌搜索实现方法-介绍。
如需转载,请注明文章出处和来源网址:
阅读(...) 评论() &伪静态 - 问题 - SegmentFault

我要回帖

更多关于 thinkphp 伪静态规则 的文章

 

随机推荐