Visualizzazione risultati 1 fino 9 di 9

Discussione: RewriteRule funzionante ma ho un piccolo dubbio

  1. #1
    nicolobissacco non è connesso Utente giovane
    Data registrazione
    04-10-2011
    Messaggi
    30

    Predefinito RewriteRule funzionante ma ho un piccolo dubbio

    ho questa regola:
    RewriteRule ^Index$ index.php [L]

    funziona, fino a qui tutto ok.

    se vado su www.miosito.it/Index --->>> OK
    se vado su www.miosito.it/index.php ---->>> NO
    mi visualizza index.php. io vorrei che in automatico se uno va su index.php venga visualizzato Index.

    Ho provato con Redirect 301 ma mi va in loop perchè anche se mi visualizza Index lui comunque è nella pagina index.php.

    C'è qualche modo per poter fare questo?
    grazie

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Non dovresti avere un url del tipo "sito.com/Index" per cominciare.

    Un URL dovrebbe identificare un file con nome ed estensione (index.html) oppure una directory (Index/). L'index del tuo sito dovrebbe essere raggiungibile solo con sito.com/.

  3. #3
    nicolobissacco non è connesso Utente giovane
    Data registrazione
    04-10-2011
    Messaggi
    30

    Predefinito

    ok allora cambio esempio

    www.miosito.it/Pippo è la pagina che visualizza pagina.php o html è lo stesso

    se vado sulla pagina www.miosito.it/pagina.php voglio che l'url in automatico diventi www.miosito.it/Pippo

    invece attualmente è accessibile tramite tutti e 2 gli indirizzi.
    Quindi ora ho:
    Codice:
    RewriteRule ^Pippo$ pagin.php [L]
    ho provato a mettere [R=301,L] ma non funziona...
    ho provato anche a mettere dopo la riga RewriteRule ^Pippo$ pagin.php [L]
    Redirect 301 /pagina.php http://www.miosito.it/Pippo ma nemmeno questo funziona...

    c'è qualche modo per fare quello che cerco di fare? o no?
    non so se mi sono spiegato bene... se non ci sono riuscito ditemelo grazie :)

    edit:

    mi rispondo da solo ho trovato la soluzione.
    Funziona ma ditemi se è giusta lo stesso :)

    Codice:
    RewriteRule ^Pippo$ pagina.php [L]
    RewriteCond %{THE_REQUEST} ^.*/pagina.php
    RewriteRule ^(.*)pagina.php$ http://www.miosito.altervista.org/Pippo$1 [R=301,L]
    Ultima modifica di dreadnaut : 30-04-2012 alle ore 18.10.37 Motivo: + tag code. Se devi aggiungere qualcosa, usa il tasto Edita ---->

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Non è un problema di Index o Pippo Non dovresti avere un url del tipo "sito.com/Qualsiasicosa" e basta

    Un URL dovrebbe identificare un file con nome ed estensione (qualcosa.html) oppure una directory (qualcosa/).

    Poi se funziona, è giusto.
    Ultima modifica di dreadnaut : 30-04-2012 alle ore 18.12.01

  5. #5
    nicolobissacco non è connesso Utente giovane
    Data registrazione
    04-10-2011
    Messaggi
    30

    Predefinito

    e perchè non può? vedo che google lo fa.
    dici che vengo penalizzato nei motori di ricerca?

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Dove lo fa? Per quel che ho visto, capita con /search ad esempio che non è una pagina, ma un'azione —non punta ad una risorsa ma all'esecuzione di una ricerca, che visualizza un risultato dinamico.

    Se la tua risorsa è una pagina, che sia una pagina. Non è questione di motori di ricerca, quanto di standard, e del fatto che se non li segui potresti creare problemi ai mille software la fuori che si aspettano che tu li segua.
    Ultima modifica di dreadnaut : 30-04-2012 alle ore 19.31.36

  7. #7
    nicolobissacco non è connesso Utente giovane
    Data registrazione
    04-10-2011
    Messaggi
    30

    Predefinito

    per esempio la pagina della ricerca delle immagini https://www.google.com/imghp
    e anche tutto google plus è fatto cosi con quei link tipo: https://plus.google.com/explore
    https://plus.google.com/circles
    https://plus.google.com/games ecc ecc

    cmq ho capito quello che vuoi dire. grazie del consiglio

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Interessante discussione.
    Dreadnaut, quali sono le specifiche che affermano che la struttura della componente path di un URI deve essere un percorso gerarchico rappresentante la posizione di un file?
    L'RFC 3986 parla genericamente di una struttura gerarchica, inoltre fa dei paralleli con la notazione utilizzata da alcuni sistemi operativi per identificare un dato file all'interno di un file system, ma non afferma che siano la medesima cosa. Inoltre vorrei far notare che non è solo Google che omette l'estensione finale all'interno del path, anche lo stesso indirizzo dell'RFC che ho riportato manca dell'estensione html, così come Wikipedia e centinaia di altri siti.

    Per quanto ho capito io, l'RFC 3986 non entra nel merito di come debba essere utilizzata questa componente (a parte le indicazioni sulla struttura gerarchica), lascia piena libertà a chi sviluppa.
    Ultima modifica di karl94 : 30-04-2012 alle ore 21.05.11

  9. #9
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Piano, io ho scritto dovrebbe, non deve, non ho mai parlato di specifiche

    Per una questione di interoperabilità, le pagine web tendono ad avere un'estensione. In teoria potrebbero non averne alcuna, o persino averne una sbagliata (.ars?!), ma content-type e content negotiation dovrebbero essere sufficienti a capire cosa viene richiesto al server e cosa viene inviato al client.

    In realtà, non tutti i client o i server sono scritti o configurati correttamente, quindi ti ritrovi con file con l'estensione sbagliata; l'esempio più comune è salvare un'immagine generata da uno script php e ritrovarsi con un file con l'estensione .php, invece di quella corretta.

    Una pratica che evita questi problemi è quella di utilizzare l'estensione corretta, direttamente o via riscrittura, oppure riscrivere i nomi delle pagine come sottodirectory qualcosa/, che di default corrisponde alla pagina qualcosa/index.html, mantenendo però l'url più pulito.

    Le estensioni sono comunque una consuetudine, ed i sistemi *nix ne fanno comodamente a meno. E con l'evoluzione dei vari strumenti, è probabile che l'estensione in un URL diventi sempre meno importante, fino a sparire.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •