2014-02-07 48 views
0
www.mysite.com/foo/article?id=8888&area=9999 

在上面的頁面中,大約有20個鏈接。當點擊這些鏈接之一,用戶被引導到:使用mod_rewrite保存引用URL的參數

www.mysite.com/foo/a_new_page 

但我希望發生的事情(使用.htaccess文件)是點擊一個鏈接時,在引用URL的參數被保留和追加所以點擊相同的鏈接將他們帶到:

www.mysite.com/foo/a_new_page?id=8888 

但我不明白。我知道我需要使用QSA來追加它們,而不是覆蓋可能設置的任何東西。但我無法弄清楚如何測試引用URL上是否存在一個參數並追加它,以便通過不同的頁面保留參數。

任何想法如何?

+0

什麼是您當前htaccess的? –

+0

我已更新我的文章以包含我的.htaccess文件 – Nadine

+0

您如何確定新頁面?這意味着你從哪裏獲得'/ a_new_page'?你說用戶被帶到這個頁面。 –

回答

1

嘗試:

RewriteEngine On 
RewriteCond %{QUERY_STRING} !^id= 
RewriteCond %{HTTP_REFERER} ^https?://(www\.)?mysite\.com/.*\?id=([^&]+) 
RewriteRule ^foo(.*)$ foo/$1?id=%2 [L] 
+0

我無法得到這個工作。它只是帶我到URL沒有附加的參數:/ – Nadine

+0

@Nadine你確定你有mod_rewrite加載和工作?正在讀取和處理htaccess嗎?你確定你有正確的引用嗎? –

+0

看到我最後的編輯。我幾乎讓你的代碼工作。它現在只是讓我重定向。重寫工作,我只需要解決重定向垃圾。 – Nadine