2013-06-20 16 views
11

Cosa viene restituito da% {REQUEST_FILENAME} e% {THE_REQUEST}?Quali sono gli elementi .htaccess REQUEST_FILENAME e THE_REQUEST?

Stavo solo controllando il nostro file .htaccess e mi sono reso conto, ne ho ben poca conoscenza. Il codice qui sotto utilizza entrambi. Funziona, voglio solo capirlo.

#remove/at the end of URL 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)/$ /$1 [L,R=301] 

#remove /index.php at the end of URL 
RewriteCond %{THE_REQUEST} ^.*/index.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L] 

Cheers, Mark

+6

+1 per volerlo capire :-) e -1 per non andare a leggerlo su http://httpd.apache.org/docs/current/mod/mod_rewrite.html così sei pari ... hehe –

+0

Grazie Ahmed, Non l'ho trovato. Anche se apache.org sembra il posto più ovvio da guardare :) Cheers. – Mark

risposta

19

Grazie a Ahmed per the link.
Come punto di riferimento rapido di a chiunque troppo pigro per fare clic su di esso qui è il bit che cercavo ...

THE_REQUEST La linea completa richiesta HTTP inviata dal browser al server (ad esempio, "GET /index.html HTTP/1.1 "). Questo non include eventuali intestazioni aggiuntive inviate dal browser. Questo valore non è stato decifrato (decodificato), diversamente dalla maggior parte delle altre variabili sottostanti.

REQUEST_URI Il componente del percorso dell'URI richiesto, ad esempio "/index.html". Questo in particolare esclude la stringa di query che è disponibile come variabile propria denominata QUERY_STRING.

REQUEST_FILENAME Il percorso del file system locale completo al file o allo script che corrisponde alla richiesta, se questo è già stato determinato dal server nel momento in cui viene fatto riferimento a REQUEST_FILENAME. Altrimenti, come quando viene utilizzato nel contesto dell'host virtuale, lo stesso valore di REQUEST_URI. A seconda del valore di AcceptPathInfo, il server potrebbe aver utilizzato solo alcuni componenti principali di REQUEST_URI per mappare la richiesta in un file.

+5

ottima cosa per rispondere alla tua domanda +1 per quello. –

Problemi correlati