2011-06-20 61 views
0

所以最近我按照Google的AJAX抓取方法重建了我的網站。escaped_fragment請求不解析PHP?

一切工作正常和?_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'); 
    } 

我注意到裏面有一個正則表達式。也許這跟它有關係?我不能完全理解這裏發生了什麼,我不是專家。 不要正是希望把我的網站備份,如果這是要留這樣的..

請借給我這裏

+0

正則表達式只是將一個空白片段變成'home',或者將任何'/'轉義成非空白片段中的'\ /'。它不會像你所看到的那樣創建一個html評論。事實上,該代碼片段中沒有任何內容會創建HTML註釋。 –

+0

@Marc B感謝信息,即時通訊與正則表達式,我忘了提及,HTML文件包含PHP,但我的htaccess有一個處理程序,這可能與它有什麼關係? – Ricki

+0

不知道。可能是某種安全模塊,或者某些其他解析器認爲PHP無效xml('<?'也被xml使用)並試圖「修復」它。 –

回答

0

這是亟待解決的手創造的if else語句PHP。