2013-01-16 51 views
0

请检查下面两条规则:.htaccess规则,这是正确的?

RewriteRule ^([^/]*).html$ index.php?s=$1 [QSA,L] 
RewriteRule ^([^/]*)\.html$ index.php?s=$1 [QSA,L] 

能否请您回答哪一个更好用,为什么?显然似乎两个工作。谢谢。

+1

第二个,因为正则表达式中的点意味着任何东西。第二个逃脱它(它意味着只看“.html”)。 –

+0

感谢您的快速回复。 – Rana

回答

0

好的,我从以前没有想过的一件事中学到了一件来自shashank kadne的新东西。所以,基本上一个点(。)在正则表达式中有其自身的意义,它表示“任何事物”。使其指示为只有点,它应该逃脱为“。” 。

第一条规则是错误的。例如,它将允许file.dhtml作为一个有效的规则,而实际上并不是这样。