2012-05-04 192 views
1

我們有一個URL需要根據兩個URL變量的值重定向。 http請求如下:http://img.ourserver.com/junk/imgfolder?var1=size&var2=imgname。此網址應該重定向到以下http://img.ourserver.com/imgfolder/size/imgname.png301使用GET變量重定向URL

我們可以做到這一點無論是在一個.htaccess文件或者Apache的conf文件。

謝謝!

+1

那麼,你嘗試過什麼?你可以在你的Apache配置中使用'RewriteRule'與'RewriteCond'結合使用;在過去的一個月裏,SO在這方面出現了很多問題,以至於觸及這個話題。 – larsks

+0

我們的主要問題是,這實際上與正常重寫相反,因爲我們的用戶將提供帶有vars的URL,並且我們需要重定向到乾淨的目錄結構。我沒有太多的運氣發現與此相關的Q - 特別是在SA上有多個變量。 –

+0

例如,[this](http://stackoverflow.com/questions/1244881/rewrite-query-string)顯示瞭如何匹配查詢字符串中的任意文本塊,然後將它們替換爲'RewriteRule'。本示例僅從查詢字符串中提取單個文本塊,但顯然可以概括解決方案。 – larsks

回答

1

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} (^|&)var1=([^&]+)&var2=([^&]+) [NC] 
RewriteRule ^[^/]+/(imgfolder)/?$ $1/%1/%2.png? [L,R,NC]