【问题标题】:how to deal with include_once php urls?如何处理 include_once php url?
【发布时间】:2016-04-28 19:32:54
【问题描述】:

我正在构建一个静态站点,并尝试对代码进行一些模块化。使用 include_once 解决了我的问题,但新创建的 section.php 文件被视为服务器上的另一个 URL,恕我直言,创建了 SEO 问题 - 重复内容。薄薄的理论,但仍然。 是否有任何解决方案可以使用 include_once 并将这些包含的文件标记为不存在的爬虫?

只是一个代码示例,以更好地定义问题所在。

index.php 看起来像这样:

<div id="wrapper">
    <?php include_once ('header.php'); ?>
    <div id="content">
        <h1>Title</h1>
        <p>Page content</p>
    </div>
</div>

header.php 如下所示:

<div id="header">
    <ul class="menu">
        <li>
            <a href="/">Home</a>
        </li>
        <li>
            <a href="#">About</a>
        </li>
        <li>
            <a href="#">Contact</a>
        </li>
    </ul>
</div>

因此生成的代码将呈现如下:

<div id="wrapper">
    <div id="header">
        <ul class="menu">
            <li>
                <a href="/">Home</a>
            </li>
            <li>
                <a href="#">About</a>
            </li>
            <li>
                <a href="#">Contact</a>
            </li>
        </ul>
    </div>
    <div id="content">
        <h1>Title</h1>
        <p>Page content</p>
    </div>
</div>

header.php 是服务器上的另一个文件,可以被搜索引擎索引,因为它有自己的 URL。问题可能很愚蠢,可能有最简单的答案,我只是不知道是否应该使用重定向或其他一些调整。

谢谢!

【问题讨论】:

  • 我不会担心在不同的网站上使用相同的标题,这不计入实际内容。
  • 谢谢,听起来很公平......正如我所说,这是一个薄弱的理论
  • 为了安全起见,您应该将源文件隐藏在 web 目录之外(httpdocs、http_public、web),只有引导程序 (index.php) 和前端资产需要对外部任何人可见。即使这样,ìindex.php 也应该伪装成 index.html,以帮助他们猜测。
  • 所以我应该把那些文件放在 public_html 之外?在我的网络服务器的根目录中?这会产生一些路径问题吗?如果我的根结构看起来像这样:root/public_html/DOMAIN/index.php,我应该将这些文件保留在根目录中并使用

标签: php include-once


【解决方案1】:

您可以通过多种方式做到这一点。

  1. 添加 Robots.txt 文件
  2. 在包含的文件中添加一个用于身份验证的密钥变量。

1- Robots.txt:
将其保存为您网站根目录中的 Robots.txt。

User-agent: *
Disallow: /elements

将文件保存在元素文件夹中。无论元素文件夹中的内容是什么,Google 和其他搜索引擎的 Crawler 都不会对其进行抓取。这永远不会在搜索结果中列出。

2- 使用密钥验证 index.php 将如下所示:

>

<div id="wrapper">
     <?php $key = 'allow_this'; ?>
    <?php include_once ('header.php'); ?>
     <div id="content">
        <h1>Title</h1>
         <p>Page content</p>
     </div> </div>

header.php 如下所示:

<?php if($key=='allow_this'){ ?>
<div id="header">
    <ul class="menu">
        <li>
            <a href="/">Home</a>
        </li>
        <li>
            <a href="#">About</a>
        </li>
        <li>
            <a href="#">Contact</a>
        </li>
    </ul>
</div>
<?php } ?>

【讨论】:

  • 那我应该看看$key。看看它是如何工作的,然后也许实施它。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2014-05-21
  • 2012-01-29
  • 2012-12-24
  • 1970-01-01
  • 2011-08-06
相关资源
最近更新 更多