domenica, febbraio 10, 2008

drupal su aruba, clean urls, htaccess, immagini - si può!!!

Non rimuovete il file .htaccess! Funziona anche su aruba, con qualche accorgimento.

Cercando in giro, per mettere a posto il fatto che non vedevo le immagini su aruba (e che non mi funzionavano alcuni moduli a causadel limite della memoria) ho trovato un po' di topics sui vari forum, ma nessuno che mi dicesse completamente come vincere... questo è il mio personale riassunto. I files da modificare sono:

1) .htaccess nella root di drupal (che non necessariamente è quella del vostro host)
2) .htaccess nella cartella files
3) settings.php (aggiungere una riga che non so se è necessaria, ricordati di togliergli i permessi di scrittura (a anche di lettura da parte degli altri immagino...))
4) php.ini un file nuovo che dovete aggiungere

1 - .htaccess nella root di drupal

#
# Apache/PHP/site settings:
#

# Protect files and directories from prying eyes:

order deny,allow
deny from all

# Set some options
# non supportato da aruba
#Options -Indexes
# non supportato da aruba
#Options +FollowSymLinks

# Customized server error messages:
ErrorDocument 404 /index.php

# Set the default handler to index.php:
# non supportato da aruba
#DirectoryIndex index.php

# Overload PHP variables:

# If you are using Apache 2, you have to use
# instead of .
php_value register_globals 0
php_value track_vars 1
php_value short_open_tag 1
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0
php_value magic_quotes_sybase 0
php_value arg_separator.output "&"
php_value session.cache_expire 200000
php_value session.gc_maxlifetime 200000
php_value session.cookie_lifetime 2000000
php_value session.auto_start 0
php_value session.save_handler user
php_value session.cache_limiter none
php_value allow_call_time_pass_reference On


# Various rewrite rules

RewriteEngine on

# Modify the RewriteBase if you are using Drupal in a subdirectory and the
# rewrite rules are not working properly:
RewriteBase /drupal

# Rewrite old-style URLS of the form 'node.php?id=x':
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^id=([^&]+)$
#RewriteRule node.php index.php?q=node/view/%1 [L]

# Rewrite old-style URLs of the form 'module.php?mod=x':
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
#RewriteRule module.php index.php?q=%1 [L]

# Rewrite URLs of the form 'index.php?q=x':
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


# $Id: .htaccess,v 1.58 2004/10/09 20:41:49 dries Exp $


2 - .htaccess nella cartella files
Nota: questo file dovete copiarlo dopo aver copiato il file precedente!!!

Contenuto:

#
# Apache/PHP/site settings:
#
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
#Options None
#Options +FollowSymLinks


3 - settings.php
ini_set('memory_limit', '128M');


4 - php.ini
register_globals = 0
post_max_size = 50M
track_vars = 1
short_open_tag = 1
magic_quotes_gpc = 0
magic_quotes_runtime = 0
magic_quotes_sybase = 0
arg_separator.output = "&"
session.cache_expire = 200000
session.gc_maxlifetime = 200000
session.cookie_lifetime = 2000000
session.auto_start = 0
session.save_handler = user
session.cache_limiter = none
allow_call_time_pass_reference = On
memory_limit = 26M


that's all folks!
d

8 commenti:

Panti G. ha detto...

:( tutto fatto ma il sito non funge (e odio aruba per questo..)

Panti G. ha detto...

..anzi se cancello .htaccess in root il sito va.. (che fregatura pero'!)

davide scaini ha detto...

ma server linux o win?
htaccess è meglio ch non lo rimuovi, ma che metti quello "appositamente" modificato per aruba

Anonimo ha detto...

Ciao, io ho installato un sito fatto con drupal6 e non riesco a farlo funzionare con i Clean-Url.
Ho un altro sito su aruba, fatto con Drupal5 che funzionaregolarmente con i clean-url!
Ho anche povato a copiare pari pari gli stessi files... ma niente, non va!

Suggerimenti? esperienze?

Ah: hosting linux.

Ciao

Anonimo ha detto...

ho risolto andando sul pannello di controllo di aruba e facendo un ripristino dei permessi sui file.

Grazie comunque, ciao.

Magari se vi riuscisse modificare .htaccess per:
1) reindirizzare ogni accesso a foo/bar/ su /foo/bar
2) reindirizzare ogni accesso a foo?q=bar su foo/bar

Questo sì, sarebbe utile!

Ciao

Tiberio

Anonimo ha detto...

ops...
al punto 1) intendevo reindirizzare foo/bar/ su foo/bar
(in pratica togliere la barra finale)

davide scaini ha detto...

Ciao Tiberio!
Non sono ovviamente uno sviluppatore... mi diletto ma a tempo perso e in questo periodo mi riesce mooolto difficile trovare dle tempo (da perdere).

Quindi, sono veramente molto sincero, non ho avuto tempo per aggiornare... DEVO farlo, ma non ho tempo... grazie intanto per i consigli, vedrò di dare un occhio il prima possibile a drupal6 su aruba. Ad ogni modo credo che la cosa migliore sia abbandonare aruba; per pochissimi euro in più si trovano hosting decisamente più seri...
d

Anonimo ha detto...

tutto quello in merito a cui ho detto «sarebbe utile» era da leggersi «mi fereste un gran bel piacere, perché io vorrei implementare queste caratteristiche sul mio sito e non ci sono versi!!
Non era una richiesta per il vostro, ma forse avevi già capito ed io non ho capito la risposta...

Boh...
come direbbe qualcuno «non so se mi sono capito!»