/ / Comportamento imprevisto di riscritture in htaccess - apache, .htaccess, mod-rewrite, url-rewriting

Comportamento imprevisto dei rewriter in htaccess - apache, .htaccess, mod-rewrite, riscrittura url

Questo è il mio file htaccess

RewriteEngine on
rewriterule ^([a-zA-Z0-9]+) /vixer.php?v=$1 [QSA]

il problema principale è che quando entro su www.example.com/vix_25 si passa a 404

e quando entro in un altro url / vix25 funziona .. Non capisco davvero qual è la differenza e perché 1st non funziona.

ragazzi potete aiutarmi? Grazie

risposte:

2 per risposta № 1

È necessario aggiungere un carattere di sottolineatura al modello in modo che possa corrispondere a un "_" nell'URI richiesto

 ([a-zA-Z0-9_]+)

Prova questo :

 RewriteEngine on
rewriterule ^([a-zA-Z0-9_]+)$ /vixer.php?v=$1 [QSA,L]

1 per risposta № 2

Lo renderei un po 'più robusto per la tua regola. Di 'ad Apache che se non è un file reale e non una directory reale, riscrivilo. Questo impedisce anche 404 "s. Ho anche cambiato il regex in modo che corrisponda meglio invece di aggiungere singolarmente corrispondenze. Inoltre, mi assicurerei che MultiView sia disattivato.

Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
rewriterule ^([^/]+)/?$ /vixer.php?v=$1 [QSA,L]