- Home
- Categorie
- Coding e Sistemistica
- PHP
- Verificare con php se il server supporta htaccess
-
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