1

我想使用我在另一个网站上看到的想法,我在其中输入“关键字”,按 Enter,然后它将客户带到特定页面或网站。

我在http://qldgov.remserv.com.au上看到过这样的内容,右侧有一个名为“我的雇主”的字段,例如输入“健康”,您将获得相关内容。

本质上,我有客户品牌的迷你网站,我们希望为每个客户品牌分配一个“关键字”,这样他们的所有员工都可以进入他们的网站输入这个关键字,而无需所有人都单独登录。我希望能够链接到我可以以某种方式定义的 URL。

我查看了上面提到的网站的源代码,发现他们正在使用一个表单,但我不确定他们是如何分配关键字的,或者是否有可能在没有数据库或类似的东西的情况下做到这一点。尽量保持简单,因为我无论如何都不是 PHP/Java 专家。

任何帮助都将不胜感激,即使它不是代码,而是我需要进入的方向来完成这项工作的想法。提前致谢!!:-)

4

3 回答 3

2

在我看来,最简单的方法是定义一个包含所有关键字和相应 url 客户端(在 JS 中)的数组。例如:

​var array = { 'health' : '/health.php', 'sport' : '/swimming.php' };

然后,您将获得用户输入onSubmit,如果存在,则进行window.location适当的修改。

if ( array[user_input] !== undefined ) {
     window.location = array[user_input];
}
else {
     alert ( 'not found' );
}

如果用户提供health,他们将被重定向到/health.php,如果他们提供sport,他们将被重定向到/swimming.phpJSFiddle)。或者,您可以使用服务器端(PHP、JAVA)来处理请求,但这可能不值得。

祝你好运。

于 2012-08-03T00:29:31.993 回答
0

通过使用 php(而不是 javascript),您不依赖 javascript + 使其对 seo 友好。

首先,您将需要某种数据库或关键字/网址列表

$keywords = array('keyword1' => 'path/to/load.php', 'another keyword' => 'another/path');

然后你需要一个基本的表格

<form action="loadkeyword.php">
  <input name="query">
  <button type="submit">Go</button>
</form>

然后在 loadkeyword.php

$keywords = array('keyword1' => 'path/to/load.php', 'another keyword' => 'another/path');
$query = $_GET['query'];
if (isset($keywords[$query])) {
   $url = $keywords[$query];
   header("HTTP/1.0 301 Moved Permanently");
   header('location: '.$url);
   exit;
} else {
   header("HTTP/1.1 404 Not Found");
   die('unable to locate keyword');
}

如果您有大量关键字,我建议您使用数据库而不是数组来跟踪您的关键字。

于 2012-08-03T00:45:39.027 回答
0

您链接到的站点在服务器端进行,通过匹配内容的关键字列表或搜索功能(我怀疑后者)。

有几种不同的方法可以实现您的目标,所有这些方法都是将关键字与内容匹配,然后使用数组、列表或数据库进行重定向 - 原理是相同的。

但是,我会恭敬地建议这可能不是最好的解决方案。我的理由是(根据您提供的示例)您实际上是在让您的用户猜测哪个关键字与哪个迷你站点匹配(即使每个站点都有很多关键字)。为什么不只是有某种菜单可供选择(即带有迷你站点列表的选择器)?

于 2012-08-03T00:49:40.130 回答