Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22

    [Dubbi da newbie] Strutturare al meglio un sito in PHP

    Salve a tutti,
    Come da titolo, mi sono da poco avvicinato al PHP e, dal momento che ho intenzione di fare un minimo di progettazione prima di catapultarmi a scrivere codice su codice, ho preferito informarmi su vari aspetti... è da un paio di giorni che cerco e leggo diversi articoli e guide di base ma ho ancora alcuni dubbi su diversi aspetti, che una "lurkata" di 10 pagine non è stata in grado di chiarire

    Suppongo che mi convenga dividere ed organizzare anche i miei dubbi o altrimenti ne uscirà fuori un mega-post!
    Pertanto inizio con quello che mi preme di più; forse il post sarà un pochino lungo, ma cercherò di essere quanto più possibile ordinato e leggibile!


    Dato che il sito che andrò a realizzare è abbastanza semplice, mi è venuto istintivo realizzarlo un include nell'index che includa la pagina indicata nella query string, ad es /index.php?page=nomepag.

    Vi risparmio il codice dell'index.php perché penso che sia chiaro a tutti il meccanismo


    In seguito mi è venuto qualche dubbio a riguardo:

    ( 1 )
    Che non sia meglio (magari anche per l'indicizzazione) avere diverse pagine php, in ognuna delle quali si includano le parti (relativamente) statiche (header, menu, footer) ed avere links del tipo:

    codice:
    miosito.it/pag1.php
    miosito.it/pag2.php
    ...
    miosito.it/pagN.php
    anziché:
    codice:
    miosito.it/index.php?page=pag1
    miosito.it/index.php?page=pag2
    ...
    miosito.it/index.php?page=pagN
    ?

    ...anche se, pensandoci, in fin dei conti l'HTML generato sarebbe identico e dovrebbe essere su quello che i motori di ricerca si basano (o mi sbaglio?). Tuttavia potrebbe forse essere più pratico (magari per siti di dimensioni maggiori o per questioni di "estendibilità") avere diverse pagine php.
    Chiarimenti? Consigli? Opinioni?



    ( 2 )
    Un altro dubbio che mi è venuto, probabilmente sciocco, riguarda proprio i file che vengono inclusi ed è il seguente:
    è possibile che un motore di ricerca trovi quel singolo file e ci indirizzi l'utente, sulla falsariga di quanto effettivamente accade utilizzando i frameset (che personalmente abolirei! ) ?


    Mi spiego meglio:

    - nel primo caso (miosito.it/index.php?page=nomepag) dovrei necessariamente includere se non altro il file nomepag.php:
    è possibile che google (o chi per lui) rimandi l'utente su miosito.it/nomepag.php anziché su miosito.it/index.php?page=nomepag ?
    (Oppure, ancora, rimanderebbe sempre e solo ad index.php e quindi sempre alla pagina predefinita?)

    - nel secondo (miosito.it/nomepag.php) dovrei includere almeno header.php e footer.php.
    Non vorrei mai che un ipotetico motore di ricerca rimandi l'utente su pagine come miosito.it/header.php o miosito.it/menu.php!

    In entrambi i casi le conseguenze sarebbero alquanto comico-disastrose!

    Come si può evitare che ciò accada? Ho pensato che forse il file .htaccess potrebbe risolvere questo problema, anche se non ho avuto ancora il tempo per documentarmi.

    Cosa accade nella pratica?
    Cosa si fa per, ad esempio, disabilitare l'accesso diretto a determinate pagine?
    Ho pensato che forse si potrebbe mettere un controllo con annesso redirect in ogni pagina da includere, ma onestamente come soluzione mi sembra un tantino macchinosa...



    Grazie per la pazienza

  2. #2
    1) puoi pensare ad un URL REWRITING anche

    2) ad esempio puoi leggere qua http://stackoverflow.com/questions/1...cept-index-php
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22
    Grazie mille!

    Per quanto riguarda l'url-rewriting, anche se non l'ho specificato avevo già pensato di farlo.

    Ma quindi ammesso quindi che le mie pagine abbiano lo stesso url grazie al mod-rewrite di Apache, allora sarebbe indifferente strutturare il sito in un modo piuttosto che nell'altro?
    O ci potrebbero essere, magari seppure in forma lieve, degli svantaggi e dei vantaggi per ognuna delle due forme?

    Per quanto riguarda il secondo punto invece, immagino che se qualcuno cerchi di visualizzare una pagina a cui ho deciso di negare l'accesso diretto il web server restituisca l'errore 403 Forbidden... mi sapresti dire se è possibile decidere che tipo di errore inviare?
    E' più una curiosità che una necessità vera e propria, ma mi piacerebbe che venisse restituito l'errore 404 Page Not Found, come se la pagina cercata non esistesse a tutti gli effetti.

    C'è qualche modo per ottenere ciò?

  4. #4
    1) l'url rewriting non incide su come disponi le tue pagine nel filesystem

    2) sempre configurando l'htaccess, puoi decidere se dare accesso o meno ad una directory dove magari tieni tutti gli "include" del sistema. Puoi anche specificare (se non erro) che tipo di errore ritornare (ma non ne sono molto sicuro, vedi http://httpd.apache.org/docs/2.0/mis...de.html#access ) cmq puoi fare una redirect ad una pagina di errore nella quale specifichi il 404 nell'header...


    Sistemi come Joomla e Wordpress(credo anche ques'ultimo) non usano questo metodo. Questi avendo un unico punto di accesso, definiscono in questo punto di accesso, ad inizio script, una variabile, e nelle pagine che non vogliono che vengano richiamate direttamente controllano se tale variabile è definita o meno, se non lo è fanno un bell'exit e terminano l'esecuzione dello script.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    mi sembra di capire che i tuoi dubbi riugardano sopratutto il posizionamento sui motori di ricerca..

    secondo me dovresti leggerti questa eccellente guida introduttiva all'argomento scritta dallo staff di GOOGLE proprio per questo tipo di dubbi..


    http://static.googleusercontent.com/...rter-guide.pdf

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22
    Originariamente inviato da Santino83_02
    1) l'url rewriting non incide su come disponi le tue pagine nel filesystem
    Questo mi è chiaro, la domanda che ho posto in seguito prescinde dall'url-rewriting... comunque per ora son giunto alla conclusione che le due soluzioni sono praticamente equivalenti a meno di qualche piccolo accorgimento.


    2) sempre configurando l'htaccess, puoi decidere se dare accesso o meno ad una directory dove magari tieni tutti gli "include" del sistema. Puoi anche specificare (se non erro) che tipo di errore ritornare (ma non ne sono molto sicuro, vedi http://httpd.apache.org/docs/2.0/mis...de.html#access ) cmq puoi fare una redirect ad una pagina di errore nella quale specifichi il 404 nell'header...
    thanks


    Sistemi come Joomla e Wordpress(credo anche ques'ultimo) non usano questo metodo. Questi avendo un unico punto di accesso, definiscono in questo punto di accesso, ad inizio script, una variabile, e nelle pagine che non vogliono che vengano richiamate direttamente controllano se tale variabile è definita o meno, se non lo è fanno un bell'exit e terminano l'esecuzione dello script.
    Buono a sapersi..! Avevo pensato ad una soluzione del genere, ma lì per lì mi era parsa "poco elegante". A quanto pare mi sbagliavo!


    Originariamente inviato da philbert mi sembra di capire che i tuoi dubbi riugardano sopratutto il posizionamento sui motori di ricerca..

    secondo me dovresti leggerti questa eccellente guida introduttiva all'argomento scritta dallo staff di GOOGLE proprio per questo tipo di dubbi..

    http://static.googleusercontent.com...arter-guide.pdf
    Grazie mille per il link!

  7. #7
    c'è anche la versione in italiano fatta dallo staff italiano:

    http://static.googleusercontent.com/...r-guide-it.pdf

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22
    Grazie, anche quella in inglese andava bene


    Ho un altro piccolo dubbio per cui non vale la pena aprire un topic a parte:

    Sto facendo dei test con l'.htaccess e finora tutto ok... ma se trasformo ad esempio /index.php?page=about in about.html, il link con cui io voglio puntare alla pagina deve essere:
    codice:
    Chi siamo
    oppure posso lasciare:
    codice:
    Chi siamo
    ?

    Facendo qualche prova in locale mi sembra più sensato adottare la prima soluzione... e scusate per la banalità del dubbio!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.