2011-08-12 24 views
1

我正在開發一個網站,我想將它與Facebook集成,使用戶能夠分享我的網站的網頁在他們的FB牆壁。我的問題在以下幾行解釋,我的問題在最後。URL重寫和Facebook的鏈接信息檢索

我使用以下網址在我.htaccess文件重寫規則:

RewriteRule ^([a-zA-Z0-9_-]+)\/?([a-zA-Z0-9_-]+)\/?$ index.php?p1=$1&p2=$2 

這意味着它將改寫像什麼:http://address/parameter1/parameter2http://address/index.php?p1=parameter1&p2=parameter2

當我張貼在FB http://address/parameter1/parameter2,它只會顯示URL下的重寫URL。

我在FB發佈http://address/index.php?p1=parameter1&p2=parameter2,它會告訴我想讓它顯示的信息,我已經把在meta標籤的人。

我試着調試http://address/parameter1/parameter2在FB上調試器(http://developers.facebook.com/tools/debug),我會得到錯誤: 「上的網頁...無法達到的,因爲服務器返回狀態碼400「。

有沒有什麼辦法可以糾正嗎?也就是說,實際上動態鏈接的行爲就像一個靜態鏈接,並且對鏈接它的任何人都是透明的?


編輯:

的這種變化重寫規則應解決的問題: 重寫規則^([A-Z0-9 _-] +)/([A-Z0-9 _-] + )/?$ index.php?p1 $ 1 & p2 = $ 2 [L,NC]

我也改變了我在做的PHP重定向。

這解決了我的問題。

+0

你試過301重定向嗎? – ifaour

+0

是的,我有。我也嘗試將mimetype設置爲text/html。它仍然不起作用。 – AntonioJunior

回答

0

我也有類似的問題,以你的,除了我管理動態的URL與PHP的改寫。 我目前的網絡主機,不允許通過htaccess的網址重寫(free.fr)

動態標準網址處理正常。但沒有rewrited網址。

考慮到標題狀態碼,你會如何擺脫這種情況?

我可以做的是做一個重定向,而不是包含腳本,它會產生html輸出代碼。 只需告訴處理程序在包含和重定向之間切換,這要歸功於url中特別添加的參數。 但這不是一個漂亮的解決方案。