2011-05-28 43 views
-1

我需要重寫一個動態URL。內容myurlmytext總是不同,應該從Twitter字符串中插入「text」和「url」。如何使用.htaccess或PHP將動態URL轉發給Twitter?

這是字符串:

http://example.com/share/?myurl=http%3A%2F%2Fwww.example.com&mytext=helloworld 
    /* forward to: */ 
http://twitter.com/intent/tweet?related=Example%3Aname&text=helloworld&url=http%3A%2F%2Fwww.example.com&via=example 

那怎麼可以做? (我瀏覽了.htaccess建議,但找不到針對我的特定問題的解決方案。)

+0

瀏覽_「。htaccess建議」_是否意味着你想在你的.htaccess文件中做到這一點? – Sparky 2011-05-28 22:16:51

+0

不知道如果我得到它的權利..你應該檢查$ _GET數組的「myurl」和「mytext」變量,並追加他們,無論你需要 – luca 2011-05-28 22:19:59

回答

1

這將是更有效的與重寫規則來處理它。

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^myurl=(.*)&mytext=(.*)$ 
RewriteRule ^(.*)$ http://twitter.com/intent/tweet?related=Example%3Aname&text=%2&url=%1&via=example [R,L] 

如果你想這是永久重定向,那麼用R = 301替換R。

隨着永久重定向,這些鏈接將永遠由瀏覽器重定向,如果需要的話,你的服務器將不得不處理更少的流量。

+0

好吧,聽起來很奇怪 - 我現在使用.htaccess。唯一的問題是:如何用「+」(加號)替換「%20」(空格)? Twitter似乎需要這個,否則文本是不可讀的。謝謝 – Frank 2011-05-29 16:22:36

+0

我不確定查詢部分中的文本/字符是否可以被mod_rewrite替代。但是,mod_rewrite不支持替換查詢字符串以外的URL中的字符。在這種情況下,你應該堅持你的PHP實現。 – 2011-05-29 17:28:09

+0

感謝您的支持! – Frank 2011-05-29 17:36:28

2

您的服務器是否支持PHP?

你可以只是把像一個PHP文件如下:

Header("Location: http://twitter.com/intent/tweet?related=Example%3Aname&text=$_GET['mytext']&url=$_GET['myurl']&via=example"); 
+0

非常感謝!我繼續討論PHP的想法。 – Frank 2011-05-28 22:46:45

+0

我不推薦這種方法處理大量流量的網站。重寫更好地處理規則。 – 2011-05-28 23:14:50