2013-04-10 117 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