Visualizzazione risultati 1 fino 12 di 12

Discussione: .htaccess - eliminare estensione file

  1. #1
    Guest

    Predefinito .htaccess - eliminare estensione file

    Buona sera a tutti, sto cercando un modo per eliminare (o sostituire) l'estensioni dei file .php del mio sito web. Attualmente sto usando il seguente codice .htaccess (riportato in basso), ma non ottengo nessun risultato visibile.

    Il fatto che più mi incuriosisce, è che girando un pò sul web, sono riuscito a trovare il codice che risulta corretto, ma ripeto, non ottengo il risultato voluto.

    Vorrei ottenere un URL del genere

    DA: http://www.miosito.it/index.php
    A: http://www.miosito.it/

    se è possibile non mostrando neanche i paramentri passati con GET.

    CODICE ATTUALMENTE IN USO:
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*)$ $1.html


    Grazie per la risposta.

  2. #2
    Guest

    Predefinito

    Con il codice che hai postato ottieni di riscrivere tutti i file con estensione php in htm.

    Quindi quando richiami pagina.php la richiesta viene riscritta in pagina.htm

    Se vuoi mostrare sempre e comunque www.sito.ext sulla barra degli indirizzi puoi usare i frame impostandoli in modo che la pagina sia divisa in due frame di cui uno ad altezza 0.

  3. #3
    Guest

    Predefinito

    "Con il codice che hai postato ottieni di riscrivere tutti i file con estensione php in htm."

    Si questo lo so, e all'escamotage dei frame ci avevo già pensato... però vorrei rendere la cosa più professionale, il fatto di usare un frame mi sporca la coscenza.. =) e per di più mi farebbe rilavorare sul sito appena terminato...

    In fondo quello che chiedo non dev'essere difficile da fare... infatti lo vedo molto spesso in tanti siti!

    Il problema è che anche il codice riportato sopra risulta corretto, ma non da nessun risultato! è questa la stranezza

  4. #4
    Guest

    Predefinito

    Per la professionalità, non saprei.

    Per la gestione corretta dei rewrite devi gioco forza rimettere mano all'intero sito.
    Non basta piazzare un .htaccess per risolvere, devi gestire, in ogni pagina anche i parametri passati.

    Di default la pagina definita in DirectoryIndex non viene mostrata nell'url, cos' se la pagina predefinita è index.php, se punti a www.sito.it, vedrai www.sito.it e la pagina mostrata sarà index.php.

    Se vuoi anche passare dei parametri e scrivi www.sito.it/?a=1&b=2 è come avessi scritto www.sito.php?index.php?a=1&b=2.

    Giusto per complicare un po' la cosa, provo a scrivere un indirizzo del tipo

    www.sito.it/articoli/il-mio-primo-articolo

    posso immaginare di riscrivere un url del tipo

    http://www.sito.it/index.php?sez=art...primo-articolo

    che comporta anche la gestione completa del sito tramite il solo file index.php

    Quindi, ti posso consigliare di leggere un bel po' al riguardo prima di cimentarti in qualcosa di questo genere...

  5. #5
    Guest

    Predefinito

    so come funziona un sito voglio dire =) ... allora facciamo così, mi puoi consigliare una buona guida per htaccess da studiare? perchè davvero in giro non ne ho trovate.

    Grazie.

  6. #6
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Con il file .htaccess non è possibile modificare l'indirizzo mostrato nella barra degli indirizzi, senza cambiare pagina credo, anche perché l'utente devi pur sempre sapere, per evitare siti non sicuri, l'indirizzo della pagina.

    Cmq i frame mi sembra una soluzione adatta a quello che vuoi fare te, non capisco perché dici di dover rifare tutta la struttura del sito con questo, se mai cambi solo destinazione hai link.

    Te hai detto che hai visto siti, che fanno quello che vuoi te, sei sicuro pero che lo fanno in quel modo, potresti linkare uno di questi siti?

    P.S.: Per una guida ai file .htaccess dai un'occhiata a questa: http://www.javascriptkit.com/howto/htaccess.shtml
    Ultima modifica di sevenjeak : 03-09-2011 alle ore 12.16.57

    Sevenjeak
    Software developer and much more

  7. #7
    Guest

  8. #8
    Guest

    Predefinito

    Ma basta guardare facebook.. che tempo fa metteva profile.php?id=119200.... e ora semplicemente /nomeutente ...


    cmq grazie della guida

  9. #9
    Guest

    Predefinito

    Evvai ragazzi ce l'ho fatta!! grazie mille per il vostro aiuto!!

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da peterpannociglia Visualizza messaggio
    Ma basta guardare facebook.. che tempo fa metteva profile.php?id=119200.... e ora semplicemente /nomeutente ...


    cmq grazie della guida
    Se leggevi bene quello che ti ho scritto, avresti evitato di scrivere questo.

    E' vero che vedi scritto /nomeutente, ma la pagina che viene EFFETTIVAMENTE caricata è profile.php?id=nomeutente (o qualcosa del genere).

    Lo so che sai come funzionano i siti, ma il fatto è che hai un problema che stiamo cercando di risolvere.

    Quello che non consideri è che non basta solo il rewrite, ma serve anche che la pagina profile.php sappia ricavare dal paramentro passato i dati relativi al profilo da mostrare. Ergo nel passaggio dalla prima alla seconda forma si è dovuto mettere mano anche al codice della pagina.

    Citazione Originalmente inviato da peterpannociglia Visualizza messaggio
    Evvai ragazzi ce l'ho fatta!! grazie mille per il vostro aiuto!!
    Di nulla!
    Magari puoi dirci cosa hai fatto e come hai risolto? (potrebbe essere utile ad altri)

  11. #11
    Guest

    Predefinito

    Si, in sostanza ho letto la guida che mi hai passato e lì ho capito qualcosa in più.

    Il fatto è che non avevo capito bene la sintassi del RewriteRule..

    per ottenere ad esempio questo:

    DA: www.miosito.it/pagina.php?art=123
    A: www.miosito.it/pagina/123

    ho usato il seguente codice:
    Codice:
    RewriteEngine On
    Options +FollowSymlinks
    RewriteBase /
    RewriteRule ^pagina/(.*)$ pagina.php?art=$1
    Ripeto grazie mille per la guida

  12. #12
    Guest

    Predefinito

    Scusate ancora, ma sorge un problema..

    provo a cambiare l'URL contenente più paramentri, con un URL più semplice:

    DA: www.sito.it/page.php?art=2&prd=Parola
    A: www.sito.it/page/Parola_2.html

    ..ma non funziona se uso il seguente codice:

    Codice:
    RewriteRule ^page/(.*)_(.*).html$ page.php?art=$2&id=$1
    che cosa c'è di errato? perchè errore di sintassi non me ne da..

    Grazie per la risposta, e per il tempo che state spendendo per me!

Regole di scrittura

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