2017-04-09 44 views
2

我試圖使用基於我的網站用戶的用戶名漂亮聯盟網址。的.htaccess重定向鏈接相同的URL,但添加查詢字符串

我需要重定向像一個鏈接:

https://example.com/anything-here/username 

https://example.com/anything-here/?ref=user_id 

我發現這個解決方案:

RewriteRule ^(.*)username(.*)$ https://example.com/?ref=user_id [L,R=301]

它的工作原理,但重定向到我在這裏設置的頁面(在這種情況下,它是主頁)。我的問題是:

我怎樣才能將其重定向到在開始請求的頁面,但刪除用戶名和添加/?ref=user_id

回答

0

你看起來好像你接近了,你只需要利用反向引用。嘗試以下方法:

RewriteRule ^(.*)/username$ https://example.com/$1/?ref=user_id [R=302,L] 

$1反向引用到所述第一捕獲組中的RewriteRule圖案

此外,由於username位於URL末尾(至少在您的示例中),因此您似乎不需要在模式結尾處使用(.*)

這是一個302(臨時的)重定向 - 如果這是需要將其改爲301(永久的)。

您需要在測試前清除瀏覽器緩存。

相關問題