2015-06-01 54 views
0

因此,我有一個重寫條件,它取自上一行的%1,如果字符串包含除字母和數字之外的其他字符,則應該重定向。但是,出於某種原因,它的工作原理如果字符串僅開頭,以字母或數字結束(允許中間的是什麼)如果字符串包含字母和數字以外的任何其他字符,則Apache重定向

繼承人的條件:

RewriteCond %1 !^[A-Z0-9]+ [NC] 
RewriteRule^http://www.example.com/nomatch 

所以,在我的情況下,它不會重定向如果%1hdsuf38//*&hdsfghj73

任何人都知道我錯過了什麼?

回答

1

兩個變化

  • 添加小寫字母以及於該字符序列。

  • 添加錨$,以便匹配一直持續到字符串的結尾

正則表達式可以

^[a-zA-Z0-9]+$ 

Regex Demo

規則爲

RewriteCond %1 !^[a-zA-Z0-9]+$ [NC] 
RewriteRule^http://www.example.com/nomatch 
+0

嗯,我認爲數控使它不區分大小寫 –

+0

我會在大約半小時內執行它並回復給你:D –

相關問題