OK Sono nuovo con il problema della riscrittura e reindirizzamento degli URL. Ho cercato su e giù su Google e StackOverflow una risposta che avrebbe funzionato e nulla sembra funzionare !!
Quello che sto cercando di realizzare è ... Prendi questo link: mysite.com/research/index.php?quote=goog
Quindi convertilo e reindirizzalo a questo: mysite.com/research/goog
Importa che il "goog" alla fine della stringa URL venga catturato da un modulo inserito nell'URL? ecco il codice usato per afferrare il "goog" <?php echo $_POST["quote"];?>
Di seguito è riportato l'unico codice snippet che ho sul miofile htaccess e non funzionerà! Sto sbagliando? C'è qualcosa che manca nel mio codice? Ho il mio codice posto nella directory principale (mysite.com) dovrei averlo nella cartella "ricerca"? (mysite .com / ricerca /)
RewriteEngine On
RewriteRule ^quote/([^/]*)$ /research/index.php?quote=$1 [L]
È possibile che il mio host / server non accetti i file .htaccess? Devo farlo in un file web.config? In caso affermativo, come posso convertire il codice sopra in un file web.config funzionante?
risposte:
3 per risposta № 1Queste sono le regole di cui avrai bisogno nel tuo /research/.htaccess
file:
RewriteEngine On
RewriteBase /research/
RewriteCond %{THE_REQUEST} /index.php?quote=([^s&]+) [NC]
RewriteRule ^ %1? [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?quote=$1 [L,QSA,NC]
Accedilo nel tuo index.php
utilizzando:
$quote = $_GET["quote"];`
0 per risposta № 2
Questo dovrebbe funzionare per te:
RewriteEngine On
RewriteCond %{QUERY_STRING} "quote=([^&]+)"
RewriteRule ^/research/index.php /research/%1? [R,L]
La stringa di query è una parte separata dirichiesta all'URL, quindi è necessario verificarlo esplicitamente. Usando RewriteCond, puoi dire se esiste il parametro "quote", lo acquisirai (ottenendo tutti i caratteri che lo seguono che non sono "&"). Ciò popola la variabile% 1 che è possibile utilizzare nella riscrittura stessa.