2015-02-06 82 views
0

这是它的外观没有“/”(本地主机/ index.php文件):http://postimg.org/image/jxg239qzn/添加“/”让网站崩溃

在URL(本地主机/ index.php文件/末尾添加完后): http://postimg.org/image/e01pe0isv/

任何有经验的人都可以给出一个简短的提示,说明可能的原因。

这里是index.php文件:

require_once("php/config.php"); 
if(substr_count($_SERVER['PHP_SELF'],'/')==1){ // fixing that bug 
    require_once(ROOT_PATH . "php/header.php"); 
    if(isvalid(quizzid()) == true){ 
     switch(quizzid()){ 
      case 0: 
       require_once(ROOT_PATH . "php/questionarios.php"); 
       break; 
      default: 
       require_once(ROOT_PATH . "php/questionario.php"); 
       break; 
     } 
    }   
    require_once(ROOT_PATH . "php/footer.php"); // footer 
}else{ // if there are more than 1 '/' it would redirect to > index 
    header('Location: /index.php'); 
} 
+0

请从'index.php'向我们展示您的代码 – Rizier123 2015-02-06 09:25:41

+0

您最有可能使用CSS文件的相对路径更改为绝对路径或设置基地 – Spokey 2015-02-06 09:37:13

+0

好的,我发布了代码,对于延迟抱歉,无论如何我会调查路径类型以及如何管理它,这正是我需要的。 谢谢你的担心。 – Vladimir 2015-02-06 09:39:18

回答

0

屏幕截图显示,当您在网址末尾附加尾部斜线时,您的网站不会加载外部文件(CSS,JS,图片)。

最有可能的原因是因为您使用相对路径作为外部文件。

<link rel="stylesheet" type="text/css" href="style.css"> 

您的浏览器将尝试加载http://localhost/index.php/style.css而不是http://localhost/style.css


对外部文件使用绝对路径将纠正该问题。

<link rel="stylesheet" type="text/css" href="/style.css"> 

您还可以使用HTML的<base> element,这将配置从一个特定的目录中获取所有相对路径:这会影响到所有的CSS/JS /图像文件,所以它不是改变都是相对更快的解决方案到绝对路径。

<base href="http://localhost/"> 

我也建议在Apache's configurationAcceptPathInfo设置为Off。这将向http://localhost/index.php/发出请求以获得404 Not Found响应。

+0

谢谢!我不打算超出你的答案,你解释得很好。 – Vladimir 2015-02-06 12:15:25

0

我猜想,服务器假设“的index.php”是一个目录,寻找与路径“本地主机/ index.php文件的索引文件的index.php”。你有没有测试过,看看这是否是潜在的问题?

+0

我有一个名为'php'的目录,只是重新命名为包含,但问题仍然存在,此时我正在搜索相对/绝对路径,这可能是问题所在。感谢您的关注,我会在问题得到解决后发布。 – Vladimir 2015-02-06 09:47:20

+0

你说得对,我用绝对路径来修复它。 – Vladimir 2015-02-06 12:17:02

0

添加/后,包含路径从localhost更改为localhost/index.php /并搜索localhost/index.php/php/config.php中不存在的config.php。

因此,在添加/之后,您的ROOT_PATH未设置。

使用绝对路径而包括(全路径)配置

require_once( “/ PHP/config.php中”);

0

我刚刚意识到问题出在哪儿,对我的愚蠢行为感到羞耻。

无处不在我曾经包括IMG,CSS,JS或其他任何东西,我用的是这样的:

(前)的link rel = “样式” 类型= “文/ CSS的” href = “ css/css.css“

(之后)link rel =”stylesheet“type =”text/css“href = ”/ css/css。CSS”

下面是关于这一个很好回答的问题:relative path to CSS file

谢谢你,对不起,如果惹恼了,我的愚蠢

(我想提出一个+1上的每个答案,但我需要15个声望)