2011-10-19 39 views
1

如果有人能幫助我完成這項工作,將不勝感激。爲什麼我的簡單重寫代碼導致重定向循環?

我試圖讓domain.com/painting.php?name=hello重定向到domain.com/page/hello,同時保持我的改寫:

RewriteCond %{QUERY_STRING} name=([^&]+) 
RewriteRule ^painting\.php$ /page/%1? [R=301,L] #redirects to page 
RewriteRule ^page/([^/\.]+)/?$ painting.php?name=$1 [L] #rewrites painting 

我想只保留了「漂亮網址」。請幫忙。

在這裏找到答案:simple 301 redirect with variable not working, why?

+2

因爲您將繪畫重定向到頁面,稍後將頁面繪製爲繪畫? – Dani

+0

如果交換第二行和第三行,會發生什麼情況?另外,嘗試添加QSA標誌到第一行,所以[QSA,L] – JoLoCo

+0

我與@JoLoCo - 我認爲你重寫它的東西會被重寫。交換他們,看看會發生什麼。 –

回答

1

我假設你真正想要做的是能接受的URL domain.com/page/hello和重寫它(無形)到domain.com/painting.php?name=hello。如果是這樣,請嘗試使用

RewriteRule ^page/([^/.])+/?$ painting.php?name=$1 [QSA,L] 
+0

:)不幸的是,我得到這個代碼500內部錯誤 – checkenginelight

+0

@checkenginelight糟糕,錯字(缺少')')。現在修復 – Phil