我在Drupal网站上使用Google的自定义搜索引擎。我正在使用iframe托管选项。我收到了一个Page Not Found错误。在这里试试:http://www.babymed.com/search。 搜索“怀孕日历”。
如果我从查询字符串中取出结果url的几个变量,只留下这些跟踪url: 2 CX =伙伴-PUB-8269249097348173%253Ayqmzpr-2cr9&安培; COF = FORID%253A10
我仍然没有得到任何结果。那里有Google CSE专家吗?
谢谢!
答案 0 :(得分:2)
您使用Google CSE module,如果不是,我强烈建议您使用{{3}}。默认情况下,Drupal和Google CSE都使用q GET变量,这可能会导致问题。我上面链接的模块负责处理。
答案 1 :(得分:0)
您可以将Google CSE模块用作jhuebsch mentioned,但问题的根源在于Drupal依赖于使用q
GET参数来确定要投放的网页,而Google CSE则使用它来确定搜索查询是什么。因此,正在发生的是搜索查询被发送到Drupal,显然无法找到您要求的页面。
因此,如果您想自己处理它,请使用旨在解决此问题的Google CSE as_q
parameter。 Google CSE模块包含此解决方法。
答案 2 :(得分:0)
问题是Drupal将q=
参数解释为页面名称。我使用.htacces
重写来隐藏PHP的搜索页面上的参数,因此,来自Drupal。 Google CSE在客户端运行,但仍会看到参数:
RewriteRule ^search$ index.php?q=search [L]
根据需要调整搜索页面名称(“搜索”)并将该行插入文件顶部。而已。无需模块。