1

的WWW版本在我已经设置了网站网址为http://www.sitename.com Facebook应用程序设置和应用程序域我已经设置为sitename.com不允许网址错误。Facebook登录抛出我的网站

但是,当我打开网站作为www.sitename.com与Facebook登录它抛出给定的URL是不允许的应用程序配置错误。但是,当我尝试没有WWW它完美的作品。如何解决这个错误?

而且在我的.htaccess,使我使用此代码的网站WWW版本,

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^sitename.com 
RewriteRule (.*) http://www.sitename.com/$1 [R=301,L] 

编辑

因为我没能解决这个问题,我决定把单独的页面login.php成为非WWW版本。这意味着当访问者打开domain.comdomain.com/my-page时,必须将其重定向到www.domain.comwww.domain.com/my-page,但页面login.php除外。所以即使用户输入www.domain.com/login.php它也必须强制重定向到domain.com/login.php。我找不到重定向,除此之外条件。

任何想法?

回答

1

这是你的.htaccess应该如何看起来像:

RewriteEngine On 

# add www except for /login.php 
RewriteCond %{HTTP_HOST} ^sitename\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/login\.php$ [NC] 
RewriteRule ^(.*)$ http://www.sitename.com/$1 [R=301,L] 

# remove www for /login.php 
RewriteCond %{HTTP_HOST} ^www\.sitename\.com$ [NC] 
RewriteRule ^(login\.php)$ http://sitename.com/$1 [R=301,NC,L] 
+0

的'login.php'只是一个样本。其实它是一个重写的网址为'sitename.com/register-an-account',具有'RewriteRule^register-an-account login.php [NC]#注册页面并登录'所以现在当输入没有www时,它直接被重定向登录.php。如果我输入网址为“www.sitename.com/login.php”,它不会被重定向到“http:// sitename.com/login.php”。 –

+0

请用实际的htaccess详细信息更新您的问题。这些规则是相互作用的,因为你没有使用'[L]'标志。 –

+0

在您的答案中稍作修改后,我完成了任务。 1.我已经使用了添加www的条件,除了login.php 2.在login.php(实际上被重写为register-an-account),我使用这个登录'$ _SERVER ['HTTP_HOST']'如果前3个字符是www,我用户'header'重定向到非www版本。 –

相关问题