试图找到这个问题,但没有真正起作用。
基本上,我正在尝试使用以下正则表达式:
RewriteRule ^course/filter:([a-zA-Z0-9_-\,\=]+)$ php/manage_courses.php?display=list&filter=$1 [L]
然而我在错误日志中得到500错误(注意转义的字符):
[Wed Jan 27 16:29:31 2010] [alert] [client ::1] H:/SVN/prj_us/.htaccess: RewriteRule: cannot compile regular expression '^course/filter:([a-zA-Z0-9_-\\,\\=]+)$', referer: http://localhost/~svn/prj_us/php/admin_index.php
它似乎是自动转义\ char,它不应该做...我已经尝试交换正则表达式代码的顺序,以及删除\完全但它不起作用。
有什么建议吗?干杯,为你提供帮助。
注释: - 没有“\,\ =”部分的工作,但我需要这两个字符特别是我试图重写的URL。 - .htaccess文件中的所有其他正则表达式都可以工作,尽管它们没有上面的两个字符。
答案 0 :(得分:2)
除了角色类中的-
字符外,您不需要转义任何内容。试试这个:
[-a-zA-Z0-9_,=]
答案 1 :(得分:0)
,
和=
在某个范围内都不是特殊的,但-
是。将-
移到开头,然后删除反斜杠。