【发布时间】:2012-03-26 20:54:34
【问题描述】:
我有一个 facebook 应用程序,它可以在 facebook 上运行或直接在域上运行。
但我不想要它。
www.mydomain.com/myapp // 这不应该工作。
你应该去:
apps.facebook.com/myapp
抱歉英语不好。
谁能帮帮我,我会很高兴的。
【问题讨论】:
标签: php facebook facebook-apps
我有一个 facebook 应用程序,它可以在 facebook 上运行或直接在域上运行。
但我不想要它。
www.mydomain.com/myapp // 这不应该工作。
你应该去:
apps.facebook.com/myapp
抱歉英语不好。
谁能帮帮我,我会很高兴的。
【问题讨论】:
标签: php facebook facebook-apps
根据 url 重定向到您希望用户去的地方:
if ($_SERVER["SERVER_NAME"] != "apps.facebook.com")
{
header('Location: http://apps.facebook.com/myapp');
}
如果你只想要你的 domain.com 和 apps.facebook.com
if ($_SERVER["SERVER_NAME"] != "apps.facebook.com" && $_SERVER["SERVER_NAME"] != "mydomain.com" )
{
header('Location: http://apps.facebook.com/myapp');
}
或通过文件夹中的 .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.mydomain.com$[OR]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^(.*)$ http://apps.facebook.com/myapp/$1 [R=301,L]
或简单地放在您的 php 页面顶部
if ($_SERVER["SERVER_NAME"] != "apps.facebook.com")
{
echo "Error please visit my apps via facebook";
return
}
【讨论】:
$_SERVER['SERVER_NAME'] 不会是 apps.facebook.com,除非他在 Facebook 自己的服务器上(即从不)。
由于Same-Origin Policy,没有一个检查apps.facebook.com 框架的好方法。我建议你只用这样的方式检测你是否在 javascript 中的框架中:
if(window == window.top) window.top.location='http://apps.facebook.com/whatever/';
它不会阻止其他人对您进行 iframe,但至少您的域会将您重定向到 Facebook 页面。
【讨论】: