/ / url riscrivi e reindirizza con la cartella usando htaccess: php, apache, .htaccess, mod-rewrite, url-rewriting

url riscrittura e reindirizzamento con cartella usando htaccess - php, apache, .htaccess, mod-rewrite, riscrittura url

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 № 1

Queste 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.