RewriteRule не может скомпилировать регулярное выражение - PullRequest
3 голосов
/ 07 октября 2009

Мой предыдущий сервер работает нормально. Сегодня я изменил новый сервер, и RewriteRule не может скомпилировать регулярное выражение для моего htaccess.

Как исправить эту строку.

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

Дайте мне знать:)

1 Ответ

6 голосов
/ 07 октября 2009

Возможно, вы используете другую версию Apache с другим механизмом регулярных выражений. Версии Apache начиная с 1.3 используют POSIX ERE, а версии начиная с 2.0 используют PCRE. И только PCRE поддерживает группу без захвата (?:expr).

Итак, попробуйте шаблон без них:

RewriteRule ^category/([0-9]+)(/([^/]+)(/([^/]+))?)(/([^/]+)(/([^/]+))?)?/$ ./category.php?pid=$1&catname=$3&page=$5 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...