-1

我的网站正在慢慢变大,我意识到我不想在最后继续回顾并编辑元标记和标题等。

我的想法是在每个页面的头部包含一个 php 页面。

然后我会有多个 if 语句,它们都做了一个 preg_match 来获取页面 url,然后它会回显出适当的信息。

if (preg_match('@page1?@i',$_SERVER['REQUEST_URI'])) {
    echo <title> Title </title>
}

等等。

这是一种可靠的方法吗?这样所有东西都在一个文件中,可以“轻松”编辑吗?

4

3 回答 3

0

我认为您应该将该代码放在一个文件中并将其命名为类似名称title.php并保存在您的根文件夹中,然后使用<?php iclude_once('title.php') ?>添加每个网页的开头。

于 2014-08-30T00:26:03.650 回答
0

取决于你的类。如果您的网站只有 20 个左右的页面,那很好,如果您有更多页面,或者它们经常更改,那么它就不那么好,并且很快就会变得混乱。此外,它还很容易在编辑实时代码时意外添加语法错误或破坏您的网站。

一种可能性是将每个 URL 的元数据存储在数据库中。然后,您可以使用 SQL 查找该 URL 的元数据,而不是一系列 if 语句。

然而,更简单的是使用预先构建的框架或 cms(内容管理系统)。这些都有一个学习曲线,尽管很多可以很快学会。我建议研究一下 Wordpress;它是开源的,有一个简单的后端,良好的文档,并且相对容易主题化。或者,您可以使用 drupal、joomla,或在 cakePHP 或 Codeignter 等框架上自行构建。

在做出决定时,您应该考虑解决方案在未来的可维护性,以及您愿意投入多少时间来开发网站。每个解决方案都有它的问题,有些会更适合不同的场景。

于 2013-09-30T21:00:09.873 回答
0

如果您正在寻找一个简单的 preg_match 语句来确定您的 URL 中的页面,那么您可以使用以下内容:

$uri = $_SERVER['REQUEST_URI'];
//$uri = '/page43/';
if (preg_match("/page([0-9]+)/i",$uri,$matches)){
    echo '<title> Title - Page '.$matches[1].'</title>';
}
于 2013-09-30T21:02:28.933 回答