Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [RewriteRule] impazzisce con gli slash (/) ??

    Cari amici del forum.
    Ho un quesito che non riesco a risolvere.

    Da qualche giorno il sito che gestisco è migrato da piattaforma apache 2.0.52 ad una con su apache 2.2.8.
    il file htaccess è stato trasbordato tal quale, tuttavia ci sono un gruppo di rewriterule che non sembrano voler più funzionare:

    Codice PHP:
    RewriteRule ^associate/([a-z]+)$ associate.php?gruppo=$[L
    Ho notato però che se sostituisco lo slash ^associate/ ([a-z]+)$ con un altro simbolo (ad esempio il -) ^associate-([a-z]+)$
    riprende a funzionare bene. Da cosa può dipendere ??

    Inutile dire che non avrei alcuna voglia di modificare lo script per questa bizzarrìa di apache e che tutti i link sono ben indicizzati su google.
    Ho provato a mettere anche
    Codice PHP:
    Options +FollowSymLinks 
    ma il server mi dà un errore 500.

    Qualche idea ?
    Grazie infinitamente
    Stefano

  2. #2
    A occhio direi di mettere associate tra parentesi

    RewriteRule ^(associate)/([a-z]+)$ associate.php?gruppo=$2 [L]
    Ovviamente l'indice gruppo diventa 2

    Se non funziona così non posso azzardare altre ipotesi. Pero' ti posso assicurare che personalmente
    uso le 2 versioni di apache 2.0.* e 2.2.* su 2 server differenti e anche io ho un RewriteRule simile al tuo

  3. #3
    Ciao, grazie del feedback,
    stavo giusto per postare un aggiornamento.

    Non venendo a capo di nulla e provando a disattivare altre rewrite, tra cui questa:

    RewriteRule 404$ 404.php [L]

    richiamando una paginetta 404 senza mettere alcuna estensione (php o html) ho visto che questa veniva comunque caricata regolarmente !!!
    Sono arrivato alla conclusione che sul server sia attiva la famosa mime_magic, per la quale ci pensa apache a tentare di trovare una estensione ai file in questione. In effetti chiamando la pagina

    http://www.miosito.it/chi_siamo

    questa veniva regolarmente servita con l'estensione.htm.

    Ho quindi pensato che inserendo una backslash nella pagina associate (/) Apache risaliva al file associate tal quale, ignorando quindi tutto quello che c'era dopo la slash, e rimandandomi quindi sempre al punto di partenza: associate.php

    Dato che non è possibile (mi sembra, ma comunque non ci sono riuscito.....) disattivare il mime_magic via .htaccess ho pensato di cambiare il nome del file associate.php in associati.php

    Questo ha risolto tutti i problemi.

    Non riesco però a capire la logica e il perchè ^associate-([a-z]+)$ non desse problemi e invece ^associate/([a-z]+)$ si...

    Vabbè intanto ho sistemato.
    La tua soluzione mi incuriosisce: vedrò di provarla...

    Grazie ancora e auguri.
    Stefano

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.