1

所有页面都通过索引页面解析,但如果页面通过索引页面解析,则不解析 PHP 代码。并且在页面源代码中显示了所有 php 代码。我使用了 .htaccess 文件,代码如下:

# Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.org [NC]
RewriteRule ^(.*)$ http://www.domain.org/$1 [R=301,NC]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ /index.php/$1 [R,L]
Order allow,deny
Allow from all
<Files 403.shtml>
 order allow,deny
 allow from all
 </Files>

从索引页面中的函数获取所有文件内容。功能是:

public function getPageContent()
{
    $html = implode('', file($this->_ROOT.$this->getPage()));
    echo $html;
}
4

1 回答 1

1

发生的事情是您只请求文件的内容。

file()获取该文件中的所有内容,然后以纯文本形式返回。您应该需要在 index.php 中包含请求的页面,例如:

请求:home.php -> index.php?p=home.php

.htaccess
 RewriteRule ^(.*)$ /index.php?p=$1 [R,L]


index.php
<?php
  /* Do some checks to secure the input. */
  include($_GET['p']);
?>
于 2013-05-07T07:24:38.620 回答