problème avec regex singe hélicon sur Windows Server 2008
-
08-10-2019 - |
Question
Je les règles de réécriture suivantes:
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php\?(.*) /$2.php?shop=$1&$3 [NC,L]
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php /$2.php?shop=$1 [NC,L]
RewriteRule ^([a-zA-Z0-9]*)/$ /index.php?shop=$1 [L,NC]
RewriteRule ^([a-zA-Z0-9]*)$ /index.php?shop=$1 [L,NC]
Le résultat dont devrait rediriger les éléments suivants:
www.site.com/Sells
-> /index.php?shop=Sells [works]
www.site.com/Sells/menu.php?Cat=1
-> /menu.php?shop=Sells&Cat=1 [failing]
-> /menu.php?shop=Sells [which is 'wrong']
Le dernier exemple devrait s'apparié récrivent [1] ...
J'ai testé les règles avec le testeur regex livré avec le singe et a constaté que échapper ?
et .
ne semble pas fonctionner. Je suis un peu déconcerté et apprécierait tous ceux qui
pourrait faire la lumière sur les raisons de cette Évasion ne fonctionne pas.
Les charges de remerciements à l'avance.
La solution 3
drapeau QSA a disparu! il ajoute la chaîne de requête et j'ai oublié de mettre dans !!!
Les doubles barres obliques, j'ai ajouté que l'aperçu ne montrait pas les simples!
Autres conseils
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php\?(.*) /$2.php?shop=$1&$3 [NC,L]
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php /$2.php?shop=$1 [NC,L]
Trop échapper. Changement \\.php
à \.php
.
Vous semblez échapper à la \ qui est destiné à échapper à la. (Vous avez \. Qui est lu comme \ et toute lettre / symbole)