1

我刚刚获得了对开发服务器的访问权限。我在 public_html 文件夹中创建了一个名为“test-site”的目录。当我访问http://developmentdomain.com/test-site/时,URL 字符串变为:http://developmentdomain.com/test-site/?p=test-site

发生这种情况的原因是因为根目录中的 index.php 告诉所有子目录将其添加到 URL 的末尾。主站点(托管在根目录中)需要这个文件,但我不希望所有其他子目录都受到它的影响。我将如何更改以下代码,使其仅适用于根目录,而不是子目录?这条线是导致它的原因: $p = ($_REQUEST['p'] != '' ? $_REQUEST['p'] : 'home');

代码:

<?
session_start();
$_SESSION['bj'] = 1;
include "db.php";
require_once("classes/layout.class.php");
require_once("classes/content.class.php");
$p = ($_REQUEST['p'] != '' ? $_REQUEST['p'] : 'home');

$layout = new layout();
$layout->startPage($p);
$layout->buildHead($p);
$layout->buildBody($p);

$content = new content();
$content->buildHeader($p);
$content->buildLogoNav($p);
$content->buildPage($p);
$content->buildFooter($p);

$layout->closePage($p);
?>
4

1 回答 1

1

似乎 $_GET 参数被用作自定义 CMS。

  1. 检查任何重写规则。
  2. 查看 layout() 类
  3. 查看您的服务器端包括classes/layout.class.php&classes/content.class.php

该 URL 正在以编程方式在某个时间点进行修改。假设由于 #1 而不是问题,那么请留意操纵header()的部分代码,即header('Location: some/new/location');

于 2012-07-06T20:38:10.773 回答