2011-10-05 31 views
1

我工作的一個螺旋規則,嘗試了各種組合,但他們沒有工作需要螺旋ISAPI和正則表達式規則的詳細信息

我想下面的URL來解決,

它可以是這

www.test.com/myownpages/ 

www.test.com/myownpages 
www.test.com/myownpages/?value1=test2&value2=test2 

它應該被解析爲

$1/test.aspx [NC] 

如果有人給myownpages後的東西,它不應該工作

www.test.com/myownpages/test (This shouldn't work) 

它嘗試了以下至今

RewriteRule ^(.*)(\/\myownpages\/)(.*)(\?)?(.+)?$ $1/test.aspx [NC] 

Anyhelp可以理解

感謝

回答

1

我對這些重寫規則不是很熟悉,但也許我可以幫助正則表達式。在我閱讀它時,你想匹配以「/ myownpages」,「/ myownpages /」或「/ myownpages /?anything」結尾的任何字符串,並在此之前捕獲該部分。 我會使用

^(.*)/myownpages(/([?].+)?)?$ 

得到這個。 See it in action at RegExr.如果您需要避開正斜槓,它會變成。

^(.*)\/myownpages(\/([?].+)?)?$ 

請注意,這不會保留查詢字符串中的值;它會將www.test.com/myownpages/?value1=test2&value2=test2重寫爲www.test.com/test.aspx

+0

hi jens,謝謝你的幫助 – kobe

0

在你想重寫的情況下(不定向)從/ myownpages - > /myownpages/test.aspx,請嘗試使用:

RewriteEngine on 
RewriteBase/

RewriteRule myownpages/?$ /myownpages/test.aspx [NC,QSA,L] 

QSA標誌自動追加查詢字符串到源路徑。