2009-10-07 10 views
3

Mon ancien serveur fonctionnait bien. Aujourd'hui, j'ai changé de nouveau serveur et obtenir RewriteRule ne peut pas compiler l'expression régulière sur mon htaccess.RewriteRule ne peut pas compiler l'expression régulière

Comment réparer cette ligne.

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

Laissez-moi savoir :)

Répondre

6

Vous utilisez probablement une version différente Apache avec un moteur d'expression régulière différente. Les versions Apache depuis 1.3 utilisent POSIX ERE alors que les versions depuis 2.0 utilisent PCRE. Et seul PCRE prend en charge le groupe sans capture (?:expr).

Donc, essayez un modèle sans eux

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

wow! merci gumbo. – wow