2010-05-15 10 views
10

Voglio creare un sito web con PHP puro. Voglio nascondere i parametri dell'URL. Cioè Voglio rendere il mio sito web con url puliti. C'è un modo per farlo senza usare un framework? CURL è utile per fare questo?php - clean URL

risposta

0

No, nessun ricciolo o struttura che lo faccia. Neanche php.
È il server web che si occupa di URL.
Quindi, se vuoi gli URL falsi, devi configurare il tuo server web per reindirizzare determinati URL su determinati script.
Il modo più comune è quello di utilizzare il server web Apache con il modulo mod_rewrite

1

Basta dare uno sguardo su di esso ... prima di iniziare i vostri animali

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html 
1

Prima di tutto: non è possibile con PHP solo (almeno non le forme di URL che penso quando leggo l'URL pulito). Il server web deve sapere come gestire le richieste e quali richieste devono essere passate allo script PHP. Altrimenti probabilmente riceverai solo una risposta 404.

Poiché il comportamento predefinito di un server Web è di prendere solo il percorso URL richiesto e provare a mapparlo su un file esistente sotto la radice del documento. Se è stato trovato un file corrispondente, il contenuto del file viene restituito al client o, come nel caso dei file PHP, il contenuto del file viene passato a un interprete appropriato ei dati restituiti vengono passati al client. E se il file non è stato trovato, beh, risponde con il codice di stato 404. Quindi a un certo punto è necessario configurare il server web.

Ma dopo, quando la richiesta è stata passata allo script PHP, è possibile utilizzare solo PHP per stabilire URL puliti. E vorrei piuttosto suggerire di farlo con PHP piuttosto che con le utility del server web. Perché la tua applicazione PHP dovrebbe sapere meglio come gestire un URL richiesto.

In PHP, tutte le informazioni necessarie si trovano nel $_SERVER variable:

  • $_SERVER['REQUEST_URI'] detiene il sentiero URL richiesto e query (è possibile analizzare che con parse_url), e
  • $_SERVER['PATH_INFO'] detiene il PATH_INFO se stai usando quello (vedi Apache’s AcceptPathInfo directive).
1

Da quello che ho letto e compreso di esso, ci sono 2 modi per farlo:

  1. Il primo è mod_rerite dove tutto sembra nuovamente fone tramite regole di riscrittura attraverso il file .htaccess abbastanza semplice da fare ma può mettere un grosso carico sul server web con grandi siti
  2. Usa PHP per controllare le reriti questo usa .htaccess ma solo per reindirizzare tutto a index.php dove un commissario reindirizza i percorsi come necessario. C'è un fantastico tutorial di questo su phpvideotutorials.com il tutorial è chiamato il tumblelog.
0

Provare a riscrivere url using php e riscrivere url using .HTACCESS.

Ad esempio, l'URL originale,

www.domain.com/item.php?product=Cars for sale in amazon 

con php

www.domain.com/item.php?product=Cars-for-sale-in-amazon 

e con il file .htaccess

www.domain.com/Cars-for-sale-in-amazon