J'ai une règle de réécriture assez simple qui fonctionne sur Nginx:
rewrite (*UTF8)^/([pLpN/-]*)$ /index.php?route=$1;
Il utilise des séquences de barres obliques inverses Perl pour faire correspondre toutes les lettres et tous les chiffres Unicode.
J'ai essayé de le reproduire sur Apache:
RewriteRule ^([pLpN/-]*)$ /index.php?route=$1 [QSA,L]
Cependant, il ne correspond qu'à des barres obliques et des tirets. Le journal des erreurs est propre.
Réponses:
3 pour la réponse № 1mod_rewrite
ne supporte pas p
propriétés, mais vous pouvez utiliser w
avec B
et NE
drapeau qui vous enverra l’URI réécrite sans échapper à /index.php
:
RewriteRule ^([w/-]+)$ /index.php?route=$1 [QSA,L,B,NE]
PS: w
comprend également un trait de soulignement.