【问题标题】:escaped_fragment request doesnt parse php?escaped_fragment 请求不解析 php?
【发布时间】:2011-09-18 18:21:26
【问题描述】:

最近我按照 Google 的 AJAX 抓取方法重建了我的网站。

一切正常,?_escaped_fragment_= 请求正常,但我注意到页面上的任何 php 都没有被解析并被注释掉,如下所示:<!--?php echo $myvar ?-->

有谁知道为什么会发生这种情况?这是我索引中的一些 PHP:

$fragment = $_GET['_escaped_fragment_'];
    $file = '' . (isset($fragment) && $fragment != '' && $fragment != '/' ? preg_replace('/\//', '', $fragment) : 'home') . '.html';
    $re = '/(^<[^>]*>)|(\n|\r\n|\t|\s{2,4})*/';

    $handle = fopen($file, 'r');
    if ($handle != false) {
        $content = preg_replace($re, '', fread($handle, filesize($file)));
        fclose($handle);
    } else {
        $content = 'Page not found!';
        header(php_sapi_name() == 'cgi' ? 'Status: 404' : 'HTTP/1.1 404');
    }

我注意到那里有一个正则表达式。也许这与它有关?我不能完全理解这里发生了什么,我不是专家。 如果它会保持这种状态,就不要完全想把我的网站备份起来..

请帮帮我

【问题讨论】:

  • 正则表达式只是将空白片段更改为home,或将任何/ 转义为非空白片段中的\/。如您所见,它不会创建 html 评论。实际上,该代码 sn-p 中没有任何内容创建 HTML cmets。
  • @Marc B 感谢您的信息,我对正则表达式一点也不方便,我忘了提到 HTML 文件包含 PHP,但我的 htaccess 有一个处理程序,也许这与是吗?
  • 不知道。可能是某种安全模块,或者其他一些解析器认为 PHP 是无效的 xml(&lt;? 也被 xml 使用)并试图“修复”它。
  • @Marc B 啊!谢谢你,实际代码是为 xml 开发的,所以可能是这样,我会尝试并报告回来
  • @Marc B 不,不幸的是这没有帮助.. 发生了什么事

标签: php parsing hashbang


【解决方案1】:

通过创建 PHP if else 语句解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多