为什么这段代码抛出一个Facebook API错误191


Why does this code throw a Facebook API Error 191?

下面的config.php文件位于www.sitename.com/facebook/

<?php
  require_once 'library/facebook.php';
  $app_id = "xyz";
  $app_secret ="xyz"
  $facebook = new Facebook(array (
    'appId' => $app_id,
    'secret'=> $app_secret,
    'cookie'=> true
  ));
  if(is_null ($facebook->getUser()))
  {
    header("Location:{$facebook->getLoginUrl(array('req_perms'=>'user_status, publish_stream, user_photos'))}");
    exit;
  }
?>

应用注册时使用的网址为http://www.sitename.com/facebook/

所以运行这个文件应该会引导我到一个授权页面…相反,我得到以下错误:

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.

谁能解释一下如何解决这个问题以及为什么会发生这种情况?

错误原因191:

在Facebook应用程序设置中,站点URL与REQUEST_URI(重定向URL)不相同例如,如果您指定的网站URL为http://www.sitename.com/facebook/,则不允许重定向到http://www.namesite.com/facebook/