我试图让page1.php在5秒后重定向到page2.php.但是,page2.php必须是受限制的页面,只有在您从 - > mydomain.com/page1.php发送时才能查看该页面,如果您在地址栏中手动键入地址,则无法访问该页面.
我尝试过使用共享密钥,htaccess和php HTTP_REFERRER的方法.
我认为问题来自重定向,我相信这是因为重定向脚本没有发送HTTP_REFERRER,因此page2.php正在查看从重定向脚本发送的手动输入的URL.我试过一个简单的PHP重定向和JavaScript.以下是我使用过的两个不同的重定向脚本.
php版本.
header( "refresh:5;url=page2.php" );
Run Code Online (Sandbox Code Playgroud)
Javascript版本.
<script type="text/javascript">
function Redirect()
{
window.location="page2.php";
}
setTimeout('Redirect()', 5000);
</script>
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用完整的URL和/或没有http://,例如mydomain.com/page2.php.
Page2.php只需要接受来自page1.php的流量.我不反对如何实现这一目标.只要用户无法手动输入地址并访问该页面,就可以使用共享密钥或任何其他方面.我也完全清楚推荐人可能会被欺骗,但我没有专业知识可以提升.
使用Jeffery Way和Algolia docs显示的Javascript,Vue.js和Typeahead.js方法来索引来自Algolia平台的json对象.
目前,当我搜索我需要的结果并点击提交按钮时,它正在post请求中传递name属性.
如何传递名称和id属性,或者如果nescessery只是ID arrtibute可以工作.
<script>
new Vue({
el: 'body',
data: {
query: '',
users: []
},
ready: function(){
this.client = algoliasearch("MYID", "MYAPI");
this.index = this.client.initIndex('dev_category_list');
$('#typeahead').typeahead(null, {
source: this.index.ttAdapter(),
displayKey: 'name'
});
},
methods: {
search: function(){
if (this.query.length < 3) return;
this.index.search(this.query, function(error, results){
this.users = results.hits;
}.bind(this));
}
}
})
</script>
Run Code Online (Sandbox Code Playgroud)
作为一个完全新手的laravel,vuejs和javascript,它有点难以掌握在解释文档中的指令时使用的语法和短语,所以任何帮助将不胜感激.
我的索引对象看起来像这样:
{
"id": "3",
"name": "My Product 3",
"value": "3",
"alternative_name": "Prod 3",
"objectID": "3"
}
Run Code Online (Sandbox Code Playgroud)
我希望一旦用户从algolia下拉菜单中选择给定的结果并点击提交,就会在post请求中传递ID或objectID的值以及name属性,如果不可能的话,ID将如上所述工作.
谢谢.
---更新引用Jerska:---
好吧,作为一个新手玩了一会儿,我似乎有它的工作,我不确定这是多么安全,或者说有多可靠,希望我不是距离我需要的地方一百万英里.很高兴看到你的个人和职业想法.
.on('typeahead:select', function (e, suggestion) …Run Code Online (Sandbox Code Playgroud) 我很难尝试获得基于地址的索引来返回与自动完成工作相同的结果,我一直在尝试两种不同的方法,我开始尝试使用 nGram 和自定义分析器,但我真的很挣扎获得相关结果以显示人们在使用地址自动完成功能时的预期。
我关注的第二种方法是看看elasticsearch附带的完成建议器是否更容易工作,但我似乎在各个方向都遇到了障碍。
我们根据每次按键的输入值定期发送客户端 API 调用。
我似乎面临的问题是……我没有返回足够相关的结果,如果/当它们相关时,附加字符部分单词可能会强制根本不返回任何结果。
以下地址为例: 7 West Hill Gardens, West Hill EX9 6BL
我的文档存储方式如下:
"id": "1",
"address": "7, Westhill Gardens, Bromyard HR74HW",
"suggest": "7, Westhill Gardens, Bromyard HR74HW"
Run Code Online (Sandbox Code Playgroud)
{
"mappings": {
"addresses": {
"properties": {
"suggest": {
"type": "completion",
"preserve_separators": false,
"analyzer": "standard",
"search_analyzer": "standard"
},
"address": {
"type": "text"
},
"id": {
"type": "keyword"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,我在建议器中设置了preserve_separators,false以允许 west hill 也与 westhill 匹配,这在建议器上工作得很好,但是在我的 nGram 索引中,我不确定如何通过映射启用相同的功能,我相信这可能是我遇到的问题是没有返回相关结果。
使用建议器是当我查询7 …
javascript ×2
.htaccess ×1
algolia ×1
autocomplete ×1
indexing ×1
json ×1
laravel ×1
lucene ×1
mapping ×1
php ×1
redirect ×1
typeahead.js ×1