重定向页面在PHP中无法正常工作?

时间:2013-05-07 06:59:15

标签: php .htaccess

所有页面都通过索引页面进行解析,但如果通过索引页面解析页面,则不会解析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;
}

1 个答案:

答案 0 :(得分: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']);
?>