我有一个基于iframe的facebook应用程序,我只想在有人直接点击应用程序url时http://mysite.com必须重定向到我的脸书画布url为这个应用说http://apps.facebook.com/mysite.这看起来很容易,但不幸的是,它在我的脑海中没有点击
如有任何帮助,将不胜感激
编辑
应用于代码点火器
编辑
htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
php_value error_reporting 7
php_flag display_errors On
php_value auto_prepend_file prepend.php
说我的域名是
http://abc.com/mysitefolder
我的facebook应用程序链接是
http://apps.facebook.com/myappname
请考虑http和https转换太
还有一个建议,正如你所看到的,我在htaccess中使用prepend只是为了获得一些日期时间内容的用户时区,我这样使用它可以吗?该文件实际上为用户在每次会话第一次访问网站时设置了一个cookie
致以最诚挚的问候Junaid
来自Facebook的应用程序的任何画布页面都将定义$_REQUEST['signed_request']
。你可以检查这个请求变量的存在,如果没有设置,重定向到Facebook。
据我所知,没有任何服务器端编码可以做到这一点……再说一遍,既然这一切都发生在事情的前端,你可以使用类似的javascript
if(window!=window.top){i am iframed now redirect or w/e you wanna do}
由于您希望将域名重定向到应用程序,而不是相反,因此应用程序位于iFrame中这一事实并不相关。
在我看来,最好的方法是使用.htaccess。这意味着你可以使用自定义URL,如mydomainname.com/mypagename/,它会重定向到apps.facebook.com/myappname/mypagename/,这样你就可以更容易地为你的应用做广告。另一个好处是您不必依赖Javascript。有些人(数量很少)已经关闭了它,但为什么要解析所有的PHP代码呢?
所以,你可以做的是让根域"空白",并且只在.htaccess文件中包括以下内容:
RewriteEngine on
RewriteRule ^$ http://www.mydomainname.com/ [R=301,L,QSA]
RewriteRule ^/(.*) http://www.mydomainname.com/$1 [R=301,L,QSA]
QSA还会将查询参数附加到目标URL,例如"?ref=email"。
当然,如果你把应用程序代码放在同一个域的根目录中,你真的不需要做任何事情,只需要调整你的身份验证代码。
如果这对你不起作用,请给我们更多的细节:
- 应用程序"生活"在哪里
- 如果应用程序位于mydomainname.com中,当您直接访问URL时会发生什么
- 你是如何进行身份验证的
代码显然有帮助。
除非mydomainname.com不是专门针对该应用程序的,否则我建议将实际应用程序托管在子域上。事实上,不管怎样,都应该帮助你组织起来。或者你可能想让该应用程序也可以作为一个网站访问,并提供Facebook登录选项。
干杯