我在http://apps.facebook.com/myappname上有一个应用程序,它是http://mydomain.com的画布页面。
我不希望用户访问 mydomain.com,所以我想将他重定向到http://apps.facebook.com/myappname。
这样做最好的方法是什么?我试图通过 javascript、php 和 htaccess 重定向,但我收到一个错误,因为 facebook 使用我的 url 加载画布页面。有什么解决办法吗?
我在http://apps.facebook.com/myappname上有一个应用程序,它是http://mydomain.com的画布页面。
我不希望用户访问 mydomain.com,所以我想将他重定向到http://apps.facebook.com/myappname。
这样做最好的方法是什么?我试图通过 javascript、php 和 htaccess 重定向,但我收到一个错误,因为 facebook 使用我的 url 加载画布页面。有什么解决办法吗?
JavaScript:
function referrerIsFacebookApp() {
if(document.referrer) {
return document.referrer.indexOf("facebook.com") !== -1;
}
return false;
}
if (!referrerIsFacebookApp()) {
top.location.replace("http://apps.facebook.com/APP_NAME_SPACE");
}
PHP:
function referrerIsFacebookApp() {
if (strpos($_SERVER['HTTP_REFERER'], "facebook.com") === false || strpos($_SERVER['HTTP_REFERER'], "facebook.com/l.php?u=") !== false) {
return false;
}
return true;
}
if (!referrerIsFacebookApp()) {
header("Location: http://apps.facebook.com/APP_NAME_SPACE");
}
只需在 iframe 中加载您的应用程序时检查 signed_request 参数传输。