Visualizzazione risultati 1 fino 14 di 14

Discussione: [htaccess] Rimuovere cartella da URL

  1. #1
    Guest

    Exclamation [htaccess] Rimuovere cartella da URL

    Salve Forum, avrei bisogno di un codice htaccess, da usare per rimuovere dall'url la cartella
    pages/

    Ovvero trasformare i links da così: www.animextreme.altervista.org/pages/staff.php a www.animextreme.altervista.org/staff.php

    Ovviamente, la pagina dovrà essere raggiungibile da entrambi i links, ma nel browser bisognerà sempre vedere "www.animextreme.altervista.org/staff.php"

    Potreste darmi il codice .htaccess? Grazie mille! :)
    Ultima modifica di animextreme : 15-12-2010 alle ore 21.53.41

  2. #2
    Guest

    Predefinito

    Scusatemi l'UP.. ma.. non c'è proprio nessuno che sappia come aiutare un'anime disperata?.. D:

  3. #3
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    In questo topic troverai alcuni esempi (fatti un giro, sono solo poche pagine) per rimuovere "php5" dall'url: http://forum.it.altervista.org/servi...ufficiale.html
    Modifica php5 in pages e dovresti ottenere il risultato desiderato

  4. #4
    Guest

    Exclamation

    Citazione Originalmente inviato da darkwolf Visualizza messaggio
    In questo topic troverai alcuni esempi (fatti un giro, sono solo poche pagine) per rimuovere "php5" dall'url: http://forum.it.altervista.org/servi...ufficiale.html
    Modifica php5 in pages e dovresti ottenere il risultato desiderato
    Innanzitutto, grazie della risposta.
    Sono riuscito a fare quello che volevo, ora però mi rimane un problema...
    Ovvero che se nel mio url digito solo l'url della cartella, non mi trova automaticamente il file index.php ma mi da errore 404... Il codice htaccess è questo:

    Codice PHP:
    RewriteEngine on
    RewriteBase
    /
    RewriteCond /index.php !-f
    RewriteRule
    ^$ index.php [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond
    %{REQUEST_URI} !pages/
    RewriteRule ^(.*)$ pages/$1
    Mi spiego meglio, se nella mia barra indirizzi scrivo:
    miosito.altervista.org/directory/ = Errore 404
    Vorrei fare che se scrivo quell'url, mi trovi automaticamente il file index.php di quella cartella, sai aiutarmi?

  5. #5
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Perdonami ma a questo punto non ho capito cosa desideri fare
    Com'è la struttura attuale del tuo sito? Fa un piccolo schema e prova a spiegare meglio com'è adesso e quel è il risultato che desideri ottenere
    -
    Se quella è la directory "riscritta", è come se quella e la root fossero fuse e quindi non puoi avere file con gli stessi nomi in entrambe le directory.
    Ultima modifica di darkwolf : 23-12-2010 alle ore 02.30.11

  6. #6
    Guest

    Exclamation

    Sò bene che non posso avere 2 file con lo stesso nome, ma il mio problema non riguarda questo.
    Il mio problema, in poche parole è questo:
    Se io nel mio sito digito: www.animextreme.altervista.org/cutenews/ mi da errore 404
    mentre se io digito http://www.animextreme.altervista.or...news/index.php mi trova cutenews. E questo succede con tutte le cartelle.
    In poche parole dopo aver messo quel code htaccess, nei link devo scrivere anche /index.php e non posso troncare il mio url alla cartella.
    Non so, se mi son spiegato bene

  7. #7
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Hai provato anche le altre soluzioni indicate?
    Ad esempio:
    Codice PHP:
    RewriteEngine on
    RewriteBase
    /
    RewriteCond %{REQUEST_URI} !^/pages/.*$
    RewriteRule (.*).php$ /pages/$1.php
    O questo:
    Codice PHP:
    RewriteEngine on
    RewriteBase
    /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond
    %{REQUEST_FILENAME} !-d
    RewriteCond
    %{REQUEST_URI} !^/pages/
    RewriteRule ^(.*)$ /pages/$1
    Ultima modifica di darkwolf : 23-12-2010 alle ore 03.09.02

  8. #8
    Guest

    Exclamation

    Si, ho provato.. ma non funzionano, con il primo metodo mi da errore 404 mentre con il secondo va in loop con il seguente errore:
    La pagina web ha generato un loop di reindirizzamento.

    La pagina web all'indirizzo http://www.animextreme.altervista.org/404.php ha causato troppi reindirizzamenti. La cancellazione dei cookie relativi a questo sito o l'attivazione di cookie di terze parti potrebbe risolvere il problema. In caso contrario, potrebbe trattarsi di un problema di configurazione del server e non del computer.
    Ultima modifica di animextreme : 23-12-2010 alle ore 03.13.29

  9. #9
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Il problema potrebbe essere causato dalla "fusione" della directory pages con la root.
    Quanti sono i file dentro la directory pages?

    Se sono pochi si potrebbe provare con un rewrite specifico per ogni singolo file (almeno si evitano potenziali conflitti).
    Codice PHP:
    RewriteEngine on
    RewriteBase
    /
    RewriteRule ^staff.php$ ./pages/staff.php [L]

  10. #10
    Guest

    Exclamation

    In teoria, in pages ci dovrebbe stare tutta la navigazione o.O Al momento, sono pochi poichè il sito lo ho appena creato, ma se devo mettere un redirect per ogni file che creo in pages/, mi sparo .__.
    Non c'è un metodo per far in modo che se si scrive nell'url la directory, si trova automaticamente la index?

  11. #11
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Ma allora perché non lasci il tutto nella root?
    Oppure, se vuoi mantenere solo index nella root e tutto il resto separato, fai uno switch nella index che andrà ad includere i vari file dalla/e subdirectory (che, volendo, potrai benissimo riscrivere con htaccess).

    Per forzare la directory sull'index.php puoi provare con:
    Codice PHP:
    RewriteRule ^pages/?$ http://tuositocompleto/pages/index.php [L,R=301]
    Ultima modifica di darkwolf : 23-12-2010 alle ore 03.45.21

  12. #12
    Guest

    Predefinito

    Non metto tutto nella root, per il semplice motivo che i files saranno davvero molto numerosi a sito finito..
    Ma comunque, grazie lo stesso dell'aiuto, ma penso che per questa volta faccio un eccezione e mi arrendo.. pazienza, mi scriverò tutti gli url con /index.php
    Ti ringrazio nuovamente per l'aiuto =)

  13. #13
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Probabilmente stai sbagliando qualcosa nella logica

    Potresti benissimo dinamicizzare il tutto e far si che la pagina cambi tramite una semplice variabile nell'url.

    Un esempio: http://forum.it.altervista.org/php-m...tml#post776424
    Abbiamo n* pagine con due soli file (ma anche in un unico file andavano benissimo).

    Creare un singolo file per ogni singola pagina non ha molto senso (il bello del php è proprio questo)

  14. #14
    Guest

    Predefinito

    Infatti ci stavo pensando, ad utilizzare questo metodo, ma non ne ero sicuro, solitamente utilizzo include, per le parti del sito che si ripetono.. ma comunque penso che proverò quel metodo domani, quando sarò più lucido
    Ora sto crollando xD.. Bhe domani ti farò sapere e grazie ancora dell'aiuto!

Tags for this Thread

Regole di scrittura

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