mod_rewrite su server linux

Marco_88

Utente Attivo
4 Dic 2014
150
0
0
Roma
batwebit.blogspot.it
Ciao a tutti!
Ho un problemuccio che vorrei condividere con voi. Vi spiego dall'inizio.

Ho acquistato un cms preconfezionato dedicato alle aste, dopodiché l'ho caricato e installato su un dominio hosting di Aruba, verificando opportunamente che rispettasse gli standard richiesti dal cms, per essere chiari: web server linux apache con modalità rewrite attiva, mysql 4.1 o superiore, php 5.2 e supporto PDO.

Il sito di fatto risulta installato e funzionante, ma è visibile solo pagina index.php. Il problema è che se tento di accedere per esempio al login del cms mi va in errore il browser riportando il messaggio:

"404 not found - Not Found
The requested URL /user/login was not found on this server."

Indagando ancora scopro ancora che qualsiasi link presente nella pagina index.php risulta non funzionante, come se non esistesse alcuna pagina.
Così contatto il venditore del cms spiegandogli tutto, lui mi risponde tramite email dicendomi che probabilmente, secondo la sua diagnosi avrei dovuto verificare il famigerato "mod_rewrite" sul server Apache. Ho contatto Aruba e mi hanno confermato che funziona.

A questo punto mi chiedo: A. o c'è qualche direttiva del mod_rewrite che impedisce il funzionamento del suddetto portale. B. mancano dei file o comunque il cms è difettoso o è una sola.

Adesso sinceramente non so più cosa fare ( a parte che farmi ridare i soldi indietro).
 
Risolto! :mavieni:

Il problema erano effettivamente le direttive (non abilitate in hosting condiviso) .htaccess. L'hosting Aruba ha provveduto nel modificarle nel seguente modo:

Nella seconda e terza riga sono state attivate la prima e la seconda direttiva togliendo semplicemente il #.
Options -Indexes
Options +FollowSymLinks



Codice:
        #Sometimes this "Options" conflict with server config
        #Options +FollowSymlinks
        #Options -Indexes
        
        #php_flag short_open_tag on #It's needed in some servers
        #AddDefaultCharset UTF-8 #Some old servers need this directive uncommented

        RewriteEngine On
        #RewriteBase / #In some servers it is needed

        #HTTP call filters
        RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS) [OR]
        RewriteCond %{HTTP_USER_AGENT} libwww-perl [NC]
        RewriteRule .* - [F]
        
        #Forbidden files
        RewriteCond %{REQUEST_URI} config\.php$ [OR]
        RewriteCond %{REQUEST_URI} \/class\/.*php$ [OR]
        RewriteCond %{REQUEST_URI} \/themes\/.*php$ [OR]
        RewriteCond %{REQUEST_URI} \.sh$ [OR] 
        RewriteCond %{REQUEST_URI} \.sql$ [OR] 
        RewriteCond %{REQUEST_URI} \.git$ [OR] 
        RewriteCond %{REQUEST_URI} \.svn$ 
        RewriteRule .* - [F]

	    #Just for testing if mod_rewrite is properly working while installation process
        ReWriteCond %{REQUEST_URI} testModRewrite.txt$
	    ReWriteRule . install/testModRewrite.txt [L]

        #Global entry point
        RewriteCond %{REQUEST_URI} !(\.gif)|(\.jpg)|(\.png)|(\.css)|(\.js)|(\.php)$ 
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule . index.php [L]
</IfModule>
 

Discussioni simili