2013-01-22 51 views
1

我正在嘗試從2個不同的URL重定向到2個或更多參數。我這樣做了幾次,但我的記憶力真的很差,我不記得如何去做(我認爲年齡的事情)。如何使用.htaccess重定向2個或更多變量

例如:

from http://www.abc.net/forum/index.php/board,(\d+).0.html 
to http://www.abc.com/forum?view=category&catid=%1 

from http://www.abc.net/forum/index.php/board,(\d+).(\d+).html 
to http://www.abc.com/forum?view=category&catid=%1&other=%2 

甚至更​​多,但我會用一些幫助解決它:

我的壞例子:

Options +FollowSymLinks 

## Mod_rewrite in use. 

RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^board,(\d+).0.html$ 
RewriteRule ^/forum/index.php$ http://www.abc.com/forum?view=category&catid=%1 [L,R] 

感謝您的幫助

+0

在傳入的URL,這個'd,(\ d +)0.html',例如,是字面所以無法比擬的',(\ d +)。0.html $'在你的正則表達式中。應該是'\ w,[^ \。]。\ d \。[^ /] + /?'只是一個想法,所以您可以根據需要調整正則表達式。或者,你可以逃避正則表達式中的所有元字符。 –

回答

0

board,(\d+).0.html東西不在查詢字符串中。你想匹配就像你的URI的任何部分。

RewriteRule ^/?forum/index\.php/board,([0-9]+)\.0\.html$ /forum?view=category&catid=$1 [L,R] 
RewriteRule ^/?forum/index\.php/board,([0-9]+)\.([0-9]+)\.html$ /forum?view=category&catid=$1&other=$2 [L,R] 
+0

這是答案,謝謝。我弄亂了htaccess – Motheus