RewriteRule:无法编译正则表达式

时间:2013-09-14 12:07:03

标签: regex .htaccess mod-rewrite

我收到以下错误:

  

RewriteRule:无法编译正则表达式'^/?(\\d+)/?([a-zA-Z0-9-_]*)(\\.html|/)?$'\n

请在下面找到我的htaccess配置:

RewriteRule ^/?mokuji - [S=1]
RewriteRule ^/?(\d+)/?([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_/]+)(\.html)?$ index.php?pid=$1&pkey=$2&pkey_ext=$3&%{QUERY_STRING}

我在哪里犯了错误?

1 个答案:

答案 0 :(得分:0)

连字符需要在正则表达式中的第一个或最后一个位置以避免转义,否则需要将其转义

将您的规则更改为:

RewriteRule ^mokuji - [S=1]
RewriteRule ^(\d+)/([\w-]+)/([\w/-/]+)(\.html)?$ index.php?pid=$1&pkey=$2&pkey_ext=$3 [L,QSA]