Ho questa struttura: site.com/api/index.php
. Quando invio dati a site.com/api/
non c'è alcun problema, ma immagino che sarebbe meglio se l'API funzionasse anche senza la barra finale, come questa: site.com/api
. Ciò causa un reindirizzamento 301 e quindi perde i dati (poiché i dati non vengono inoltrati). Ho provato ogni riscrittura a cui potevo pensare e non ho potuto evitare il reindirizzamento. Questa è la mia attuale regola di riscrittura (sebbene possa essere irrilevante).Come accedere all'indice index.php senza una barra finale E non ricevere il reindirizzamento 301
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^api/(.*)$ api/index.php [L]
Posso fare in modo che l'URL funzioni e conservare i dati del post senza utilizzare la barra finale?
Alcuni riscrive che non ha funzionato: (tutti ancora reindirizzamento)
RewriteRule ^api$ api/index.php [L]
RewriteRule ^api/*$ api/index.php [L]
la barra finale è aggiunto dal apache modulo mod_dir: http://httpd.apache.org/docs/2.2/mod/mod_dir.html –
Inoltre, la regola di riscrittura, nel modo in cui è scritta, ha la barra finale come parte della regola. Probabilmente potresti semplicemente rimuovere '/' dalla regola e funzionerebbe. –
Giusto. Stavo pensando che avrei potuto riscrivere una richiesta a quella directory proprio su index.php in modo che il modulo non entrasse mai in funzione, ma non funzionava. Aggiornerò per mostrare ciò che ho provato lì. – m59