/ / URL intuitivi anziché stringhe di query? [duplicato] - php, url

URL user-friendly al posto delle stringhe di query? [duplicato] - php, url

Possibile duplicato:
usando seo user friendly in php
Instradamento personalizzato in ingniter di codice

Sto sviluppando un CMS e voglio utilizzare URL intuitivi invece di Stringhe di query.

per esempio.:

mysite.com/cat_1 => mysite.com/cat_1/itme_1

invece di

mysite.com/?cat=1 => mysite.com/?item=1

Come dovrei implementarlo? qualche modo standard?

La mia idea è quella di utilizzare pagine semi-dinamiche e generare istantanee statiche con URL user-friendly di pagine dinamiche che utilizzano stringhe di query.

risposte:

2 per risposta № 1

Questo si ottiene attraverso l'uso di.htaccess per modificare il modo in cui l'URL viene inviato al client. O come dicono altre persone, per preimpostare l'URL. Ecco alcuni link ad articoli per aiutarti a iniziare con mod_rewrite regole necessarie per rendere questa funzione.

http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/

http://www.roscripts.com/Pretty_URLs_-_a_guide_to_URL_rewriting-168.html


2 per risposta № 2

Tu vuoi usare .htaccess per riscrivere i tuoi URL internamente e indirizzarli in modo appropriato alla tua applicazione.

Ecco uno specifico .htaccess esempio che farà quello che stai cercando:

RewriteEngine on
RewriteRule ^cat_([0-9]*) /?cat=$1 [N,QSA]
RewriteRule ^item_([0-9]*) /?item=$1 [N,QSA]

Basta inserire quanto sopra in un file chiamato .htaccess nella tua cartella web di root e sarai a posto.

Nota che potresti dover abilitare mod-rewrite nel tuo server Apache se non è già abilitato (la maggior parte dei provider di hosting condiviso lo hanno abilitato)


1 per risposta № 3

Questa funzionalità non può essere implementata utilizzandosolo PHP. Devi configurare la riscrittura degli URL per il tuo server HTTP, che trasformerà gli URL intuitivi in ​​stringhe di query comprensibili per i tuoi script. Nel caso di Apache, dovresti esaminare mod_rewrite, che di solito può essere configurato tramite .htaccess File.


1 per risposta № 4

Che ne dici di usare il pattern MVC per PHP?

http://www.tonymarston.net/php-mysql/model-view-controller.html http://oreilly.com/pub/a/php/archive/mvc-intro.html http://www.codeproject.com/Tips/401121/MVC-in-PHP

Arun


1 per risposta № 5

usa asp.net mvc lo ottieni gratuitamente;) ma in tutta serietà penso che PHP abbia un motore web (accenditore di codice) che fornisce anche il routing avanzato. Inoltre, puoi eseguire il tuo ruolo usando alcuni Apache magia nera


1 per risposta № 6

Puoi usare un framework come Codeigniter: http://ellislab.com/codeigniter

E rivedere: http://ellislab.com/codeigniter/user-guide/general/urls.html

Dovrai attivare il mod_rewrite e crea il file .htaccess

.htaccess con Codeigniter:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>

Quindi puoi usare:

example.com/class/function/ID

Spero che sia utile.

Saluti.