【问题标题】:Why my html code does not work as it should be为什么我的 html 代码不能正常工作
【发布时间】:2019-04-30 09:37:14
【问题描述】:

我正在将自制的网络应用程序移至较新的计算机。旧计算机在 windows 7 32 位 (xampp-win32-1.8.3-5-VC11) 中运行 32 位 xampp,而新计算机是 win 10 pro 64 位。我将所有网页组织在一个文件夹中,该文件夹成为文档根目录的子文件夹。这个文件夹有几个用于图像、php 代码、css 样式的子文件夹。问题是我的网络应用坏了,不会像在旧服务器中那样显示它的某些部分。

我尝试了不同的 Web 服务器包(包括 WAMP 和 Turnkey),结果相同。我怀疑在我的 html 代码中引用文件时存在问题,但我尝试对其进行一些更改,但无济于事。让我感到困惑的是为什么相同的代码在旧服务器上工作,而在新服务器上却不行。我什至尝试在 win 10 64 位上安装相同的 xampp 32 位(与旧服务器版本相同),但它仍然破坏了网络应用程序。 由于我怀疑引用文件的问题,还尝试在 header.php 中使用 img src="../images/header.png" 更改 -> img src="/images/header.png" 但它也不起作用.

index.html 部分将在浏览器中显示标题:

<!-- BEGIN: Sticky Header -->
<div class="center-div">
<div id="header_container">
<div id="header" style="background-image: url(images/header_background.jpg); background-repeat: no-repeat;">
    <?php include('header/header.php'); ?>
    </div>
</div>
<!-- END: Sticky Header -->

header.php 文件

<a href="#"><img src="/images/header.png" alt="Insert Logo Here" width="1200" height="150" id="Insert_logo" style="display:block;" /></a>

这是我的目录结构:

mc
 |
 +-- index.html
 |    
 +-- header
 |  |  
 |  +-- header.php
 |    
 +-- images
 |  |  
 |  +-- header.png
 |  +-- header_background.jpg

我将通过在网络浏览器中输入http://xxx.xxx.xxx.xxx/mc 来访问我的网络应用程序。 旧服务器将正确显示 header 部分,同时在 web 应用程序上显示 header_background.jpg 和 header.png。但是新服务器只会显示空白。 我是一个相对新手,前段时间我写了这个网络应用程序。知道如何解决这个问题吗?非常感谢。

【问题讨论】:

  • 不要将 header.php 放在子文件夹中。只需在与 index.html 相同的文件夹中使用它。并尝试将 index.html 重命名为 index.php。然后在 index.php 的顶部包含 header.php
  • 你检查过the Apache error log吗?
  • 您是否检查了读写权限?有时可能会出现问题。在阅读了你的最后一节之后,我会说服务器没有执行你的 php 代码。正如 Vishwa 建议的那样,将 index.html 重命名为 index.php
  • @Vishwa 除了更改文件扩展名外,我认为您提供的其他建议没有任何理由。
  • @FedericoklezCulloca 不那么凌乱,更容易调试等

标签: php html apache


【解决方案1】:

您必须将 index.html 重命名为 index.php。基本上,您需要在 PHP 文件中执行 PHP 代码。现在,您正尝试在 HTML 文件中执行一些 PHP 脚本。

【讨论】:

  • 好点,但这并不能解释没有 header_background.jpg 的空白页。哦,等等,确实如此!因为它是应该包含标题图像的 div 的背景......当该图像不存在时,它的大小为零。 Hanugro 显然没有检查页面的源代码。
【解决方案2】:

因为您在 html 文件中使用 php 代码(php 标记)。在这里您应该将文件名 index.html 更改为 index.php

【讨论】:

  • 啊,刚刚把index.html改成index.php就可以直接看到header_background.jpg了。我认为我在 header.php 中引用文件的方式也是错误的,因为我必须包含 ../images/header.png。顺便说一句,有没有办法让 apache 将“.html”视为“.php”,以免我重命名和更改我的网络应用程序中的所有文件引用?知道为什么我的旧服务器可以工作吗?
  • @hanugro 是的,有办法,但不要那样做。当您迁移回新服务器或其他人继承您的代码时,它只会再次引起混乱。约定的存在是有原因的。
  • 无论我使用 img src="/images/header.png" 或 img src="../images/header.png"
  • 是的,你可以......试试这个stackoverflow.com/questions/6295141/…
猜你喜欢
  • 1970-01-01
  • 2019-06-10
  • 1970-01-01
  • 2016-10-03
  • 1970-01-01
  • 2012-06-10
  • 2013-10-14
  • 2020-11-17
  • 2018-02-11
相关资源
最近更新 更多