RewriteRule cannot compile regular expression

2020-03-26 07:11发布

My previous server working fine.. Today I changed new server and getting RewriteRule cannot compile regular expression on my htaccess.

How to fix this line.

RewriteRule ^category/([0-9]+)(?:/([^/]+)(?:/([^/]+))?)(?:/([^/]+)(?:/([^/]+))?)?/$ ./category.php?pid=$1&catname=$2&page=$3 [L]

Let me know :)

1条回答
叛逆
2楼-- · 2020-03-26 07:58

You are probably using a different Apache version with a different regular expression engine. The Apache versions since 1.3 use POSIX ERE while the versions since 2.0 use PCRE. And only PCRE support the non-capturing group (?:expr).

So try a pattern without them:

RewriteRule ^category/([0-9]+)(/([^/]+)(/([^/]+))?)(/([^/]+)(/([^/]+))?)?/$ ./category.php?pid=$1&catname=$3&page=$5 [L]
查看更多
登录 后发表回答