2013-04-10 115 views
1

我有以下規則重寫規則連字符

RewriteRule ^/Recent-* /mydir/recent$1 [NC,I,R=301] 

現在我想我的網址(近期-name.xml的)重定向而不是(Recent.xml)

以上規則重定向兩者。任何想法如何防止重新定向recent.xml?

+0

'重寫規則^ /最近\ - + $/MYDIR /最近$ 1 [NC,I,R = 301]' – Ejaz 2013-04-10 22:10:00

+0

@Ejay該正則表達式會不匹配'Recent-Name.xml' – 2013-04-10 22:13:31

+0

是的,我自己不確定,但想讓他試試看。感謝指出:D **編輯**請你詳細說明爲什麼它不會? – Ejaz 2013-04-10 22:16:26

回答

1

*正則表達式修飾符表示前面的字符爲「無」或「更多」。這意味着可以有沒有連字符,它會匹配。剛剛擺脫了*或使它所以它匹配字母:

RewriteRule ^/Recent-[A-Za-z]*\.xml$ /mydir/recent [NC,I,R=301] 
+0

謝謝@Jon如果我想讓它獨立於文件擴展名,該怎麼辦? – Mithil 2013-04-10 22:15:29

+0

@Mithil然後刪除'\ .xml $'。 – 2013-04-10 22:20:19

+0

這是發生了什麼 RewriteRule ^/Recent- [A-Za-z] * $/mydir/recent $ 1 [NC,I,R = 301] recent-test.aspx在早期給出了404用於正確重定向。 – Mithil 2013-04-10 22:26:19