2014-03-19 64 views
0

所以我遇到了一個問題,我相信我有正確的但它只是在我這裏工作。不重定向爲乾淨的URL

所以,很簡單我想我目前的網址是: tremorelights.com/chandelier-c-18.html?page=2 & osCsid = vtemi4nqlioftbteam6nap0s77

看起來像這樣網址: tremorelights.com/吊燈/ 2/

所以我想重定向到乾淨的URL,這就是我現在擁有的。

RewriteEngine On 
RewriteBase/
RewriteRule ^chandelier-c-18.html?page=$1 chandeliers/([0-9]+) [QSA,L,R=301] 

然而,這是行不通的。當我手動輸入乾淨的URL時,它不會給我一個404錯誤,但它不會將我帶到任何其他頁面。

+1

我覺得你有它倒退,難道你不想'tremorelights.com /吊燈/ 2 /'重定向到'tremorelights。 COM /吊燈-C-18.html?頁= 2&osCsid = vtemi4nqlioftbteam6nap0s77'? –

回答

0

您可以在重寫規則匹配對查詢字符串,你要匹配的是這裏的%{THE_REQUEST}變量。

嘗試:

RewriteEngine On 
RewriteBase/
RewriteCond %{THE_REQUEST} \ /+chandelier-c-18.html\?page=([0-9]+) 
RewriteRule^chandeliers/%1? [QSA,L,R=301] 

那麼也許:

RewriteRule ^chandeliers/([0-9]+) chandelier-c-18.html?page=$1 [L] 
+0

嘿喬恩感謝重定向工程的幫助。現在唯一的問題是它繼續處理這些乾淨的URL後這些變量:'tremorelighting.com/chandeliers/2?cPath=18&page=2&osCsid = 25msjgqd9qnss50e039m9k3j96'正如你所看到的乾淨的URL是在位,我是重定向到它,但醜陋的變量仍然存在。 – Mike

+0

@Mike抱歉,在那裏忘了'?'。見編輯 –

+0

謝謝你的幫助喬恩。你一直在幫助很大。 – Mike

0

您的規則改成這樣:

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteRule ^chandeliers/([0-9]+)/?$ chandelier-c-18.html?page=$1&osCsid=vtemi4nqlioftbteam6nap0s77 [QSA,L,NC]