Visualizzazione risultati 1 fino 13 di 13

Discussione: [Htaccess]directory con RewriteCond diverse da quelle di root

  1. #1
    Guest

    Predefinito [Htaccess]directory con RewriteCond diverse da quelle di root

    emm eccomi qui ho un problema :P

    vorrei che una directory seguisse condizioni diverse dall'htaccess in root

    nello specifico spiego meglio ho joomla in root e mediawiki nella cartella /php5

    vorrei dire all'htaccess che se si trova nella directory /php5 deve seguire altre RewriteCond

    ho provato ad inserire 2 htaccess uno in root e l'altro in /php5 .. dando diverse direttive ma mi presentava una 404

    (in teoria l'htaccess della directory non dovrebbe comandare ? )

    ho provato ad inserire nell htaccess della root

    RewriteCond %{REQUEST_URI} ^\/php5/*$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)$ php5/index.php?title=$1 [L,QSA]

    ma non va :( mi da errore 500


    un metodo per risolvere ^_^ thnx

  2. #2
    Ospite Guest

    Predefinito

    Hai provato a cambiare la rewritebase?

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da probid Visualizza messaggio
    Hai provato a cambiare la rewritebase?
    ho cambiato così ma non va :I

    guarda che stranezza
    (qui mi da una 404 portandomi in index)
    http://joomlavista.altervista.org/php5/

    (qui la skin non viene caricata )
    http://joomlavista.altervista.org/ph...ina_principale

    ti posto l'htaccess che ho modificato seguendo il tuo consiglio

    Codice:
    RewriteBase /php5
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]
    
    RewriteBase /
    
    #
    #  Rules
    #
    RewriteCond %{REQUEST_FILENAME} !.(jpg|jpeg|gif|png|css|js|pl|txt)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*) index.php

  4. #4
    Ospite Guest

    Predefinito

    Prova a dividere i due htaccess, in quello nella dir php5 metti il primo, nella root il secondo.

  5. #5
    Guest

    Predefinito

    nada

    identica situazione

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

    Predefinito

    uhm, ricordo di aver provato a mettere diversi .htaccess in giro, ma ho sempre avuto problemi su AlterVista, con il risultato che ho tutte le regole in quello principale. La cosa va studiata...

  7. #7
    Guest

    Predefinito

    vi posto le ultime nuove....

    sono riuscito a far capire all'htaccess di root che quella cartella non la deve minimamente toccare
    adesso ho piazzato in /php5 un nuovo htaccess
    l'url viene riscritto come potete vedere
    http://joomlavista.altervista.org/ph...ina_principale

    ma genera una 404 al click di ogni pagina nel menu

    ve lo posto magari mi aiutate a capire cosa non va...

    perchè non riesce a trovare le pagine ?

    Codice:
    RewriteRule ^[^:]*\. - [L]
    RewriteRule ^[^:]*\/ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^/*$ /php5/index.php?title=Main_Page [L,QSA]
    RewriteRule ^(.+)$ /php5/index.php?title=$1 [L,QSA]

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

    Predefinito

    uhm un RewriteEngine On all'inizio ? (adesso faccio due prove anch'io)

    edit: ok, credo di aver capito distinguiamo due casi:

    Senza specificare RewriteBase viene usato il valore di default, che è il nome completo della directory in cui si trova l'htaccess. Questo però vale solo per gli URL in entrata, cioè il primo operando delle regole. Per gli URL in uscita, trasformati (il secondo operando) bisogna specificare il path completo!

    Mettiamo questo file in /test/:
    Codice PHP:
    RewriteEngine On
    # niente RewriteBase

    RewriteRule ^ciao.html$ /test/cippa.html
    RewriteRule
    ^casa.html$ /index.php
    e miosito.altervista.org/test/ciao.html mostra /test/cippa.html, mentre miosito.altervista.org/test/casa.html mi porta alla home del mio sito.

    Indicando una RewriteBase, ad esempio il path completo della directory, questa viene usata sia per il primo che per il secondo operando. Quindi l'url arriva dal browser, viene tolta la parte base, viene modificato e poi questa parte viene riattaccata davanti. Il nostro file /test/.htaccess diventa
    Codice PHP:
    RewriteEngine On
    RewriteBase
    /test

    RewriteRule
    ^ciao.html$ cippa.html
    RewriteRule
    ^casa.html$ /index.php
    (notare come /index.php non cambi! - se comincia con uno slash la RewriteBase non viene usata!)
    Le due redirezioni alla fine si comportano allo stesso modo, ma sono scritte in modo diverso.

    bom, spero di aver fatto un po' di luce sul problema, o di avervi ancora confuso di più.

    @swedenfox:
    occhio che gli .htaccess vengon caricati in sequenza tutti, quindi se in una sottodir non vuoi che vengano applicate anche le ergole della root del sito, devi far terminare l'elaborazione
    Ultima modifica di dreadnaut : 04-08-2007 alle ore 12.50.38

  9. #9
    Guest

    Predefinito

    yuuuuuhuuuuuuuuuuuu risolto

    grazie mille della spiegazione dread (chiara ..... se l'ho capita io....)

    posto a dover di cronaca l'htaccess messo in php5

    Codice:
    RewriteEngine On
    RewriteBase /php5
    
    RewriteRule ^[^:]*\. - [L]
    RewriteRule ^[^:]*\/ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^/*$ index.php?title=Main_Page [L,QSA]
    RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]
    mo dico la mia cavolata .... siccome in php5 lavora un altro engine php .... non è che non scrivendo RewriteEngine On non mi funzionava apposta


    c'è solo un problema con le lettere accentate!
    http://joomlavista.altervista.org/php5/Attualit%C3%A0
    dai che se mi risolvi questo ti offro da bere !

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

    Predefinito

    hum, non ho capito bene cosa intendi con la "cavolata"...

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    hum, non ho capito bene cosa intendi con la "cavolata"...
    nel senso che non avevo inserito rewriteengine on nell'htaccess di /php5
    (non bastava il rewrite engine on in root ^_^' ???)

    a cosa è dovuto il problema delle lettere accentate ....?urlencode() ???
    Ultima modifica di Swedenfox : 04-08-2007 alle ore 14.44.17

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

    Predefinito

    si, non basta un solo On I file .htaccess vengono letti in ordine dalla directory alla root, quindi quello principale è l'ultimo ad essere letto!

    per le lettere accentate, si direi url_encode, ma credo non ci sia speranza...

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    si, non basta un solo On I file .htaccess vengono letti in ordine dalla directory alla root, quindi quello principale è l'ultimo ad essere letto!
    giuro che pensavo fosse il contrario

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    per le lettere accentate, si direi url_encode, ma credo non ci sia speranza...
    ecco come sempre sei stato chiarissimo grazie mille , Problema risolto

Regole di scrittura

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