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 № 1Questo 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.