problema regex con Helicon ape su Windows Server 2008
-
08-10-2019 - |
Domanda
Ho le seguenti regole di riscrittura:
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]
Il risultato di cui dovrebbe reindirizzare il seguente:
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']
L'ultimo esempio dovrebbe ottenere riscontro riscrittura [1] ...
Ho testato le regole con il tester regex fornito con scimmia e ha scoperto che la fuga ?
e .
non sembra funzionare. Sono un po 'sconcertò e apprezzerebbe chiunque
potrebbe far luce sul motivo per cui questo fuga non sta funzionando.
Un sacco di grazie in anticipo.
Soluzione 3
QSA bandiera mancava! si aggiunge la stringa di query e ho dimenticato di mettere in !!!
Le doppie barre che ho aggiunto come anteprima non stava mostrando i singoli!
Altri suggerimenti
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]
Troppo fuga. Cambiare \\.php
a \.php
.
Sembra che tu sfuggire alla \ che è destinato a sfuggire al. (Avete \. Che viene letto come \ e qualsiasi lettera / simbolo)