正则expression式在.htaccess中不起作用

我试图限制哪些字符可以在请求URI中使用:

重写引擎 

RewriteCond%{REQUEST_URI}!^([a-z0-9:/ \。\ _ \ – ])[NC]

RewriteRule ^。* – [F,L]

由于某种原因,它不工作。 有任何想法吗?

谢谢!

很好的问题。 防止XSS(跨站点脚本)的好方法。

这是解决scheme:

  RewriteEngine on RewriteCond %{REQUEST_URI} [^a-z0-9\_\:\/\.\-] [NC] RewriteRule () - [F,L] 

较短的等价物将是:

  RewriteEngine on RewriteRule [^a-z0-9\_\:\/\.\-] - [F,L]