0

我在 Drupal 站点中使用 Google 的自定义搜索引擎。我正在使用 iframe 托管选项。我收到“找不到页面”错误。在这里试试:http ://www.babymed.com/search 。搜索“怀孕日历”。

如果我从查询字符串中取出结果 url 的几个变量,只在 url 后面留下这些变量: ?cx=partner-pub-8269249097348173%253Ayqmzpr-2cr9&cof=FORID%253A10

我仍然没有得到任何结果。有 Google CSE 专家吗?

谢谢!

4

3 回答 3

2

您是否使用Google CSE 模块,如果不是,我强烈建议您使用。默认情况下,Drupal 和 Google CSE 都使用可能导致问题的 q GET 变量。我在上面链接到的模块会处理这个问题。

于 2010-12-30T19:26:17.963 回答
0

您可以使用jhuebsch 提到的 Google CSE 模块,但问题的根源在于 Drupal 依赖于使用qGET 参数来确定要服务的页面,而 Google CSE 使用它来确定搜索查询是什么。所以,正在发生的事情是搜索查询被发送到 Drupal,显然无法找到您请求的页面。

因此,如果您想自己处理,请使用 Google CSE 的as_qparameter,该参数旨在处理此问题。Google CSE 模块包含此解决方法。

于 2010-12-30T22:37:22.747 回答
0

问题是 Drupal 将q=参数解释为页面名称。我使用.htacces重写将搜索页面上的参数隐藏在 PHP 中,因此也隐藏在 Drupal 中。Google CSE 在客户端运行,仍会看到参数:

RewriteRule ^search$ index.php?q=search [L]

根据需要调整搜索页面名称(“搜索”)并在文件顶部插入该行。而已。不需要模块。

于 2013-06-03T20:40:17.547 回答