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版本。 –

相關問題