Salve a tutti!
Ho appena caricato il mio sito http://occhidelnord.altervista.org e, in un primo momento, il file .htaccess che avevo caricato causava un "internal server error" in tutte le pagine che non fossero la home page.
Riporto qui di seguito il contenuto del file in questione:
Codice:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
php_flag short_open_tag on
php_flag output_buffering on
php_flag zlib.output_compression on
php_value zlib.output_compression_level 9
php_value max_execution_time 60
php_value max_input_time 60
php_value memory_limit "64M"
php_value post_max_size "2M"
php_value upload_max_filesize "2M"
php_value max_file_uploads 1
php_flag register_globals off
php_flag register_long_arrays off
php_flag register_argc_argv off
php_flag magic_quotes_gpc off
php_value default_mimetype "text/html"
php_value default_charset "utf8"
php_flag session.use_cookies on
php_flag session.use_only_cookies on
php_value session.name "OCCHIDELNORD"
php_value session.cookie_lifetime 0
php_value session.cookie_path "/"
php_value session.gc_maxlifetime 1800
php_value session.hash_function 1
php_value session.hash_bits_per_character 6
Come si nota, questo .htaccess attiva il mod_rewrite, infatti il mio sito si basa su Zend Framework, che ne fa uso. Però, come anticipato, il sito non funzionava, a parte la homepage.
Aggiungendo questa riga subito dopo la prima:
tutto è tornato a funzionare normalmente.
Ho risolto il problema ma non capisco perchè questa soluzione funzioni. Sul mio pc, dove ho sviluppato il sito, quel file .htaccess originale funzionava egregiamente, perchè invece qui ho bisogno di quella direttiva extra?
Ammetto di non essere molto esperto del funzionamento del mod_rewrite di Apache
Ringrazio in anticipo chiunque vorrà perdere qualche minuto per spiegarmi questa differenza