脚本宝典收集整理的这篇文章主要介绍了php – Google的索引XSLT页面,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
http://php.net/manual/en/class.xsltprocessor.php
使用方法如下:
<?PHP $sXML = "<xml>"; $sXml .= "<sudhir>hello sudhir</sudhir>"; $sXml .= "</xml>"; # LOAD XML FILE $XML = new DOMDocument(); $XML->loadXML( $sXml ); # START XSLT $xslt = new XSLTPRocessor(); $XSL = new DOMDocument(); $XSL->load( 'xsl/index.xsl',LIBXML_NOCDATA); $xslt->importStylesheet( $XSL ); #PRINT print $xslt->transformToXML( $XML ); ?>
(自http://php.net/manual/en/book.xsl.php起)
UPDATE
您在评论中询问如何拦截来自特定用户代理(例如Googlebot)的请求.有多种方法可以执行此操作,具体取决于您使用的Web服务器技术.
在apache上,一种方法是使用mod_rewrite在内部将请求处理转移到包含类似于我们上面看到的代码的PHP脚本.此脚本从最初请求的URL中检索XML,并将转换呈现给客户端.重写规则将有一个Rewrite Condition,用于将HTTP_USER_AGENT标头与Google进行比较.这是一个规则的例子(未经测试,但你应该得到这个想法):
RewriteCond %{HTTP_USER_AGENT} ^(.*)Googlebot(.*)$[NC] rewriterule ^(.*\.xml.*)$/renderxslt.PHP?url=$1 [L]
简而言之,条件是查找以字符串“googlebot”开头的引荐来源,并且重写规则匹配任何带有字符串“.xml”的URL,并将完整的URL作为查询字符串参数传递给renderxslt.PHP页面.
也是IIS的mod_rewrITe exis端口(http://www.isapirewrite.com/).
或者,使用IIS,您可以使用ASP.NET HTTP module拦截请求,再次检查Request.Headers [“HTTP_USER_AGENT”]以获取Google的签名.然后,您可以通过阅读PHP脚本生成的HTML,或者通过使用ASP.NET XML控件来以类似的方式继续前进:
<asp:Xml ID="Xml1" runat="server" Documentsource="~/cdlist.xml" TransformSource="~/listformat.xsl"></asp:Xml>
以上是脚本宝典为你收集整理的php – Google的索引XSLT页面全部内容,希望文章能够帮你解决php – Google的索引XSLT页面所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。