Ciao,
nel mio caso ho questo tipo di link senza DB
http://www.mosaicoenergia.it/index.php?p=chi_siamo.php
Come devo procedere?Il file .htaccess come lo devo compilare?
Ciao,
nel mio caso ho questo tipo di link senza DB
http://www.mosaicoenergia.it/index.php?p=chi_siamo.php
Come devo procedere?Il file .htaccess come lo devo compilare?
piccolo dubbio che non sono riuscito a capire da solo...
Ho configurato tutto e funziona tutto, nel senso che se accedo alla pagina che mi aspetterei come link statico funziona bene, ma allora perchè se uso l'url dinamico non viene riscritto in quello statico?
ho un sito dove i link sono creati dinamicamente...ma il rewrite non li dovrebbe portare in statici in modo autonomo?? mi sa che mi sono perso qualcosa...![]()
.htaccess
quindi se accedo a:Codice PHP:
RewriteEngine On
RewriteRule ^/notizie/(.*).htm$ notizia.php?id=$1 [L]
localhost/notizie/10.htm
vedo la notizia id=10, se invece apro:
localhost/notizia.php?id=10
il link rimane tale e quale...anche nell'elenco news da cui è linkata...ma è normale?![]()
scusami, ma dove lo vai a copiare il file .htaccess??puoi spiegarmelo? Ho capito che stai lavorando sulla local host, ma dove lo copi precisamente il file?Non riesco a capire!
nalla root...ma se faccio il link "virtuale" senza sottocartella non cambia assolutamente nulla....stesso comportamento...anche perchè la sottocartella "notizie" mica esiste.......Originariamente inviato da pusherxx
scusami, ma dove lo vai a copiare il file .htaccess??puoi spiegarmelo? Ho capito che stai lavorando sulla local host, ma dove lo copi precisamente il file?Non riesco a capire!![]()
grazie per avermi risposto, ma per ''root'' intendi qualsiasi cartella sul mio MAC o nella cartella htdocs dell'apache?e poi che intendi per...scusami se sono insistente, ma voglio capirci qualcosa, e so che voi siete la strada giusta!ma se faccio il link "virtuale" senza sottocartella non cambia assolutamente nulla
Grazie ancora![]()
root è la cartella principale del tuo sito...dove tieni l'index generale...quindi se hai seguito l'installazione standard di apache è proprio la cartella htdocs.....Originariamente inviato da pusherxx
grazie per avermi risposto, ma per ''root'' intendi qualsiasi cartella sul mio MAC o nella cartella htdocs dell'apache?e poi che intendi per ...scusami se sono insistente, ma voglio capirci qualcosa, e so che voi siete la strada giusta!
Grazie ancora![]()
ritornando alla mia domanda...ma i link quindi li dovrei convertire secondo il percorso statico virtuale?
possibile che seguendo le regole dell'htaccess apache non sia in grado di farlo da solo????![]()
sicuramente mi sbaglio in qualcosa ma fatemi capire cosa....![]()
![]()
![]()
![]()
![]()
riporto quanto ho appena letto...Originariamente inviato da pusherxx
grazie per avermi risposto, ma per ''root'' intendi qualsiasi cartella sul mio MAC o nella cartella htdocs dell'apache?e poi che intendi per ...scusami se sono insistente, ma voglio capirci qualcosa, e so che voi siete la strada giusta!
Grazie ancora![]()
I file .htaccess sono inseribili in qualsiasi directory del web server e le impostazioni di ciascun file vengono applicate alla directory dov’è posizionato e alle sue sottodirectory.
![]()
Esattamente.Originariamente inviato da MaPPaZZo
riporto quanto ho appena letto...
I file .htaccess sono inseribili in qualsiasi directory del web server e le impostazioni di ciascun file vengono applicate alla directory dov’è posizionato e alle sue sottodirectory.
![]()
Ovviamente l'affermazione non esaurisce il discorso, che per la cronaca è davvero molto molto articolato; basti pensare che htaccess non accetta qualsiasi porcata uno ci infili dentro, ma solo determinati tipi di direttive (sito apache http://httpd.apache.org/docs/2.0/mod...reference.html spiega tutto, fare attenzione alla legenda di destra !)
Inoltre se è vero che le sottodirectory ereditano le direttive della cartella padre dove è inserito il fil e.htaccess, è anche vero che è possibile inserire più file htaccess nelle diverse sottocartelle per dettagliare sempre più in profondità le direttive di cui si ha bisogno. Questo ovviamente richiede una certa pianificazione e coscienza delle proprie directory.
Detto questo volevo rispondere a Mappazzo, perchè i suoi dubbi sono in fondo quelli di moltissime altre persone che si imbattono nel modrewrite.
Quando leggi:
significa: "trasforma i link .../notizie/quello-che-ti-pare.htmCodice PHP:
RewriteEngine On
RewriteRule ^/notizie/(.*).htm$ notizia.php?id=$1 [L]
in notizia.php?id=quello-che-ti-pare"
Chi legge quanto sopra penserebbe "cavolo ma io vorrei il contrario !! Vorrei fare in modo che il link generato dal mio script con tanto di parametri &id=120&pag=38&lingua=ita venisse trasformato in qualcosa del tipo .../ita/120/38 "
In verità il problema è da approcciare al contrario !!!
p.s. si trova in giro molto spesso del materiale (articoli, ma anche questa pillola, se la rileggete bene) non sufficentemente chiara su questo aspetto. Il tuo quesito con la risposta è molto simile ad uno pubblicato nella 2a-3a pagina di questa discussione. (stefano3804, hai fatto cmq un buon lavoro !!!)
In estrema sintesi: una mod rewrite fa quello che gli dici tu, ma nel caso sopra che poi è anche l'utilizzo più diffuso su internet, è necessario che sia lo stesso script php che genera come output la tua paginetta a CONVERTIRE LUI DIRETTAMENTE TUTTI i LINK IN QUALCOSA DEL TIPO
/notizie/quello-che-ti-pare.htm.
Attenzione: Tale percorso non corrisponde di fatto a nessuna pagina statica .htm (ma questo non ci interessa neppure, dato che lo scopo finale è scrivere qualcosa che possa essere di gradimento ai motori di ricerca....)
Sarà poi il nostro mod rewrite che in base alla regola soprascritta quando vedrà arrivarsi una richiesta di questo tipo trasformerà in modo trasparente il link della tua pagina: /notizie/quello-che-ti-pare.htm in: notizia.php?id=quello-che-ti-pare
allo scopo ovviamente di far processare allo script php i parametri che tu gli passi.
Morale della favola: il mod rewrite si incarica di tradurre i link balordi - da noi creati affinchè i motori di ricerca ci indicizzino i documenti meglio che si vede arrivare - in un qualcosa che sia poi digeribile da un file .php !
Spero di essermi spiegato bene... ciaoo
Stefano
ciao a tutti, è passato un po di tempo ma spero che mi rispondiate ancora.
Ho un problema col mod-rewrite.
il file categoria.php e gioco.php sono nella stessa directory, il reindirizzamento ai link come stabilito dalle regole nell' htaccess funziona correttamente. l'unico problema è che io ho una sottodirectory chiamata "styleCSS" contenente i file css utilizzati dall'intero sito web.
dunque il problema è che quando vado sulla pagina categoria.php il cui link "virtuale" è www.nomesito.it/nomecategoria.html tutto funziona, ma quando vado sulla pagina gioco.php il cui link "virtuale" è www.miosito.it/giochi/nomegioco.html (ricordo che la directory giochi non esiste realmente) non mi viene caricato il file .css e credo che il motivo sia che anche il link interno alla pagina gioco.php che linka al css segua il link virtuale non trovando cosi il file .css.
Il file .htaccess contiene:
Codice PHP:
RewriteEngine On
RewriteBase /share/flash/it/
RewriteRule ^([^/]+).html$ categoria.php?cat=$1 [PT,L]
RewriteRule ^giochi/([^/]+).html$ gioco.php?nome=$1 [PT,L]
Ho Windows Vista, PHP 5.2.8, Apache 2.2.11
Scusate il posto un po complicato ma dopo ore di ricerca e non avendo trovato nulla di nulla sono esaurito![]()
Susate se vado un po' OT ma non so proprio dove chiedere.
Allora attraverso questa lezione ho imparato come creare un pagina dinamica: .php?pagina=nomepagina
ma ora come si fa a creare una pagina del tipo:
.php?pagina=nomepagina&id=numeroid
?
Grazie.