2011-10-21 89 views
0

我們使用IIS MOD-重寫從MicoNovae我們的IIS在Windows 2003上IIS MOD-重寫QUERY_STRING/QSA問題

我們用重寫規則重寫命令,例如: http://www.site.com/section35/page1/tiling-tools/ 變爲: http://www.site.com/search.asp?section=35&page=1&model=tiling-tools

我現在有一個情況我需要將查詢字符串追加到重新編寫的網址,例如: http://www.site.com/section35/page1/tiling-tools/?myid=dskajh34kjhsvkjh34 需要成爲 http://www.site.com/search.asp?section=35&page=1&model=tiling-tools&myid=dskajh34kjhsvkjh34

我的規則是:

RewriteEngine On 
RewriteRule /\.htaccess$ - [F] 
RewriteRule ^/section([^/]+)/page([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/$ /search_results.asp?section=$1&page=$2&model=$3 [L] 

我試過以下,但沒有成功:

RewriteRule ^/section([^/]+)/page([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/$ /search_results.asp?section=$1&page=$2&model=$3&%{QUERY_STRING} [L] 

RewriteRule ^/section([^/]+)/page([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/$ /search_results.asp?section=$1&page=$2&model=$3 [L,QSA] 

建議可以理解的('因爲它的駕駛我瘋了!)

謝謝!

回答

1

除了查詢字符串追加,我甚至不知道你的重寫規則是在所有工作?!?我會建議使用這樣的事情:

RewriteRule ^/section([0-9]+)/page([0-9]+)/(.*)/ /search_results.asp?section=$1&page=$2&model=$3 [NC,L,QSA] 

數控標誌讓你重寫規則不區分大小寫和QSA標誌添加你需要的查詢字符串。

+0

感謝您的回覆Marco。原來,加入QSA一直在努力,但是其他代碼導致了這個問題!還要感謝NC提示... – JezB