Domanda

Sto cercando di costruire un estremamente semplice banco di prova riposante per un app su cui sto lavorando. Sto usando .htaccess per reindirizzare gli URL per il mio script di controllo dove io analizzare gli URL per gestire la logica.

Ho il reindirizzamento di lavoro, ma il problema è che se faccio un POST / PUT / DELETE, Firebug mostra le mie richieste di andare al banco di prova correttamente, ma ottengo una risposta redirect 301 e poi una seconda risposta GET.

Come posso utilizzare .htaccess per il mio reindirizzamento URL senza che l'invio di un 301 al browser?

Questo è il file .htaccess che sto usando ora:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
È stato utile?

Soluzione

Provare qualcosa di simile a questo:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Questo reindirizzerà a meno che non ha chiesto il file per esiste (ad esempio un file di immagine o CSS). Io uso spesso queste regole e non ho mai incontrato un 301.

Verifica che il tuo script PHP non cambia la risposta ad un 301.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top