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

    htacces problema accenti

    Salve ragazzi...
    sto creando un cms e mi ritrovo questo problema

    voglio inserire una lettere accentata nel titolo di una mia pagina
    ad esempio
    titolo: page è

    ho configurato nel seguente modo il mio htaccess
    codice:
    RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?type=page&title=$1&status=published [QSA] 
    RewriteRule ^preview/([a-zA-Z0-9_-]+)$ index.php?type=page&status=draft&title=$1 [QSA] 
    AddDefaultCharset utf-8
    tutte le codifiche di mysql...pagine...etc etc sn impostate a utf8...idem quando mi connetto al db
    codice:
    mysql_set_charset('utf8',$conn );
    tutto è perfetto quando visualizzo una pagina che non ha caratteri accentati nel titolo...
    mentre se visualizzo la pagina "page è"
    esce fuori
    codice:
    Not Found
    
    The requested URL ****/cms/page_è was not found on this server.
    come faccio?!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ma la pagina è "reale" o deve essere riscritta con .htaccess? perchè nelle regexp tu metti solo il set di caratteri base (a-z e A-Z)...

  3. #3
    No ...
    cè un db dove prende le pagine, non esiste alcuna pagina se non la pagina index.php dove prelevo i dati dal db

    x qll non mi legge i caratteri accentati... devo risolvere questo problema...
    il problema alla fine è solo nel titolo della pagina...non posso non dare l'opportunità di inserire un carattere accentato

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    uhmmm strano se usi una rewrite rule puoi usare i caratteri utf-8.


    1- assicurati che i files siano tutti salvati in utf-8
    2- controlla bene che parametri prende la pagina con un bel var_dump($_GET)
    3-testa a fondo l'espressione regolare che usi da php con un
    codice:
    $data = array() ;
    var_dump( preg_match_all($re,$_SERVER["PHP_SELF"]),$data ) ; 
    var_dump($data) ;
    senza passare prima da htaccess.

  5. #5
    allora ho fatto il var dump del $_GET
    se visualizzo una pagina senza accenti mi da

    codice:
    array(3) { ["type"]=> string(4) "page" ["title"]=> string(8) "homepage" ["status"]=> string(9) "published" }
    mentre se visualizzo la pagina con accenti mi da sempre pagina non trovata

    codice:
    Not Found
    
    The requested URL ***/cms/è¨ was not found on this server.

  6. #6
    1- assicurati che i files siano tutti salvati in utf-8
    2- controlla bene che parametri prende la pagina con un bel var_dump($_GET)
    3-testa a fondo l'espressione regolare che usi da php con un
    codice:
    $data = array() ;
    var_dump( preg_match_all($re,$_SERVER["PHP_SELF"]),$data ) ;
    var_dump($data) ;

    senza passare prima da htaccess.
    1. tutto in utf8
    2. fatto ma ti ho già spiegato cosa mi dice
    3. scusami l'ignoranza ma non capisco cosa devo fare

  7. #7
    Usare la codifica html dei caratteri accentati pare brutto?
    è à eccetera...
    A parte questo, che potrebbe anche non funzionare, io andrei a rivedere e modificare per benino la gestione delle "pagine", e userei anzichè il titolo il suo id...o addirittura nulla, andando quindi a cercare ciò che serve estrapolando ed elaborando la richiesta get

    codice:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    Alla index mi arriva la get così com'è, senza parametri trasformati. Sta poi al controllore (o gestore o come vuoi chiamarlo) capire dalla url cosa deve fare. Alla wordpress, per capirci, o alla Joomla, CodeIgniter eccetera. Insomma spostare il problema dall'htaccess al controllore.


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.