- Home
- Categorie
- Coding e Sistemistica
- Coding
- Verificare con php se il server supporta htaccess
- 
							
							
							
							
							
Verificare con php se il server supporta htaccessCiao a tutti, come faccio a verificare con php se il server supporta htaccess? Grazie, 
  
 
- 
							
							
							
							
							Immagino che basti verificare se il mod_rewrite è decommentato nel file di configurazione o comunque con il classico php_info(); 
  
 
- 
							
							
							
							
							
Eheheh che facile, ma non è così che devo fare, devo fare una cosa tipo: [php]<?php if(il_server_supporta_htaccess()) { so io che fare } else { so io che fare } ?>[/php] Come faccio? Grazie, 
  
 
- 
							
							
							
							
							prova con una ricerchina... 
 cliccami](http://forum.html.it/forum/showthread/t-1083274.html)
 
- 
							
							
							
							
							ah, pardon XD ma a te interessa per il mod_rewrite o per altro? 
 credo che l'.htaccess sia comunque supportato, potrebbe essere il modulo non caricato e questo lo puoi vedere mettendo nell'.htaccess
 [php]<IfModule mod_rewrite>
 fai quel che devi se è caricato
 </IfModule>[/php]
 
- 
							
							
							
							
							Credo non esista una funzione che ti permetta di controllare direttamente se il mod_rewrite è abilitato o no 
 
- 
							
							
							
							
							
Vabbè, meno cose volevo dire ed eccoci fuori strada  Sto facendo un CMS e nell'installazione devo far verificare se il mod_rewrite è supportato dal server, ovviamente tutto da fare con php. Ecco perché ho scritto quel codice al post #3  Come faccio? Grazie, 
  
 
- 
							
							
							
							
							
Io ho provato in questo modo e funziona. [php] 
 print_r(php_sapi_name()); //Debug
 print_r(get_loaded_extensions()); //Debug
 print_r(get_extension_funcs(php_sapi_name())); //Debug
 print_r(apache_get_modules()); //Debug//----------- $moduli = apache_get_modules(); if(in_array("mod_rewrite", $moduli)) echo "MOD REWRITE ABILITATO"; else echo "MOD REWRITE NON ABILITATO";[/php] Ciao! 
 
- 
							
							
							
							
							
Mi dice questo: Fatal error: Call to undefined function apache_get_modules() in ... ...file.php on line 49 Altra soluzione?  
 
- 
							
							
							
							
							
Usando questo codice per trovare la funzione che ti permette di elencare i moduli del server: [php] 
 print_r(get_extension_funcs(php_sapi_name()));
 [/php]
 
- 
							
							
							
							
							
Non mi restituisce niente... L'ho messo in una pagina pulita e restituisce pagina bianca... Come faccio? 
 
- 
							
							
							
							
							
Prova a postare l'echo di questi: [php] 
 print_r(php_sapi_name()); //Debug
 print_r(get_loaded_extensions()); //Debug
 print_r(get_extension_funcs(php_sapi_name())); //Debug
 print_r(apache_get_modules()); //Debug
 [/php]
 
- 
							
							
							
							
							
Ecco: cgi-fcgi 
 Array
 (
 [0] => zip
 [1] => xmlwriter
 [2] => libxml
 [3] => xml
 [4] => wddx
 [5] => tokenizer
 [6] => sysvshm
 [7] => sysvsem
 [8] => sysvmsg
 [9] => session
 [10] => SimpleXML
 [11] => sockets
 [12] => soap
 [13] => SPL
 [14] => shmop
 [15] => standard
 [16] => Reflection
 [17] => posix
 [18] => mime_magic
 [19] => mbstring
 [20] => json
 [21] => iconv
 [22] => hash
 [23] => gettext
 [24] => ftp
 [25] => filter
 [26] => exif
 [27] => dom
 [28] => dba
 [29] => date
 [30] => ctype
 [31] => calendar
 [32] => bz2
 [33] => bcmath
 [34] => zlib
 [35] => pcre
 [36] => openssl
 [37] => xmlreader
 [38] => mysql
 [39] => gd
 [40] => mysqli
 [41] => PDO
 [42] => pdo_mysql
 [43] => pdo_sqlite
 )
 <br />
 <b>Fatal error</b>: Call to undefined function apache_get_modules() in <b>/home/mhd-01/www.tuttofree.net/ann/prova-funzioni.php</b> on line <b>5</b><br />Allora? Grazie, 
  
 
- 
							
							
							
							
							
Non funziona perchè il server non utilizza le Apache2Handler API. 
 Per risolvere il problema, potresti impostare traminte htaccess una variabile get che permetta di verificare il funzionameto del mod_rewrite.Es. se hai pagina.php, il file htaccess la traduce in pagina.php?rw=on, dove rw indica il rewrite abilitato, significa che puoi usare url rewrite, altrimenti url normali. 
 
- 
							
							
							
							
							
Si infatti ho provato con un casino di imbrogli ma alla fine funziona  Grazie assai