2017-07-02 52 views
0

我如何可以重定向用GET參數的URL到正規網址:的.htaccess:重定向與GET參數的URL

/index.php?cid=100&id=550&Itemid=1084 

/my-page 

我想:

Redirect 301 /index.php?cid=100&id=550&Itemid=1084 /my-page 

但我沒有工作

+0

您當然可以將這樣的請求重定向到該目標URL,但是您肯定會失去那些獲取第一個URL中存在的參數。我懷疑這是你想要的... – arkascha

+0

不,我不需要這個得到論據 – christophefongemie

回答

0

如果,你在你的評論要求上面,做需要在目標要求的查詢參數,你可以做一個簡單的重定向:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^cid=100&id=550&Itemid=1084$ 
RewriteRule ^/?index.php$ /my-page [R=301] 

這條規則將在HTTP服務器主機工作配置,同樣在動態配置文件(.htaccess樣式文件)中。

如果你想匹配模式是有點更靈活,所以接受任意數字,而不僅僅是正是你在問題中指定的,那麼你可以使用稍微修改條件:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^cid=\d+&id=\d+&Itemid=\d+$ 
RewriteRule ^/?index.php$ /my-page [R=301] 

一般提示:您應該始終將這些規則放置在http服務器(虛擬)主機配置中,而不是使用動態配置文件(.htaccess樣式文件)。這些文件出了名的錯誤,很難調試,他們真的放慢了服務器。它們僅提供作爲的情況下最後的選擇,你沒有對主機配置控制(讀:真的很便宜的託管服務提供商),或者如果你有依賴於寫自己的重寫規則(這是一個明顯的安全惡夢的應用)。

+0

這就是我需要的!謝謝你的提示。 – christophefongemie

+0

歡迎您! ;-) – arkascha