0

可能重复:
在正则表达式中应该转义哪些文字字符?

RewriteRule ^profile/[A-Za-z_-\d\^\.]/*$ ./index.php?page=showuser&username=$1

我是mod重写的新手。有人可以告诉我我的模式有什么问题吗?我试图只让传入的名称包含字符、数字、-、^、_ 和 . 符号,但当我使用该语法时它会给我一个错误。

4

2 回答 2

2

4件事:

  • 开头缺少斜线
  • 你在你的角色课之后忘记了一个+:)
  • 您还忘记捕获用户名:p
  • 你应该总是把-角色放在角色类的开头

](此外,除了字符类之外,您不需要转义任何其他内容)

RewriteRule ^/profile/([-A-Za-z_\d^.]+)/*$ ./index.php?page=showuser&username=$1
于 2012-10-21T16:43:14.277 回答
0

尝试

RewriteRule ^profile/([\w\d\.^_-]+)/?$ ./index.php?page=showuser&username=$1

使用可能会更好

RewriteRule ^profile/([\w\d\.^_-]+)/?$ /index.php?page=showuser&username=$1

如果您的 index.php 文件位于公用文件夹的顶部(根)。

于 2012-10-21T16:41:01.657 回答