Ciao a tutti, ho creato una pagina 404 personalizzata con i link all'homepage, il menu di navigazione a destra e il box di ricerca. L'ho impostata in /settings/error-reporting come pagina di errore di default (http://www.vergari.com/acqua/node/105) e "sembra" funzionare, nel senso che scrivo una url sbagliata tipo http://www.vergari.com/pippo mi riconduce giustamente alla pagina node/105 così come io l'ho creata, ma se scrivo una url del tipo http://www.vergari.com/acqua/pippo mi riconduce sì alla pagina node/105, ma senza menu e senza box di ricerca, mi "salta" il contenuto di tutto ciò che metto nella colonna a destra, mentre bottom, footer ecc. sono a posto. /acqua/ è la directory al cui interno ho installato Drupal, ma se fosse un discorso di directory scritte sbagliate non dovrebbe non vedersi più tutta la pagina, e non solo una colonna?
Ho googlato e cercato, ma il problema è che brancolo nel buio più totale, non riesco a capire "cosa" dovrei cercare... Qualcuno ha un'idea?
Non la conosco la soluzione,
però cosi ad occhio potrei dirti che probabilmente l'errore l'hai nel blocco quando scegli le pagine su cui visualizzarlo.
se metti "node/105" e scrivi www.miosito.it/pippo (lui giustamente fa www.miosito.it/node/105)
se scrivi però www.miosito.it/acqua/pippo (lui mi sa che lo interpreti come www.miosito.it/acqua/node/105 che non è contemplato nel blocco. questo perchè /acqua/ esiste. )
E' una supposizione.
Se risolvi il problema fai sapere.
mmmhh... credo di avere le idee ancora più confuse ^__^
Mentirei se dicessi di aver capito come funge Drupal, ma la pagina di default per l'errore 404 è proprio www.miosito.it/acqua/node/105, e così è scritto nel blocco "Error reporting", perchè come ho detto ho installato tutto drupal dentro la directory /acqua/.
Se scrivo www.miosito.it/node/105 mi viene la pagina giusta di errore 404 perchè semplicemente quella pagina non esiste... però facendo ulteriori prove grazie alla tua segnalazione, ho visto che anche se scrivo un file che non esiste dentro qualsisasi cartella, esistente o meno, la pagina d'errore si visualizza senza la colonna dx... cioè, non so se mi spiego, se la pagina sbagliata è cercata nella root del sito allora la pagina di errore si visualizza completa, se la pagina sbagliata è cercata dentro una cartella, sia che la cartella esista o meno, la colonna dx sparisce.
Il problema può derivare dal fatto che appunto drupal è in una sottocartella del sito?
Ma quello che non riesco a capire è perchè sparisce solo una colonna (o, meglio spariscono tutte e due le colonne, right e left) e non tutta la pagina?
non spariscono le colonne, spariscono i blocchi.
Quindi a deduzione il tuo problema sta nei blocchi. admin/build/block
Edita i blocchi che vuoi richiamare nella pagina di errore e vai a vedere cosa c'è scritto in "Page specific visibility settings
Show block on specific pages: "
I blocchi sono impostati per essere visti in ogni pagina senza eccezioni, ho controllato... i blocchi in sidebar left e sidebar right sono impostati esattamente come quelli in content bottom, che invece continuano a vedersi tranquillamente da qualunque posizione venga richiamata la pagina d'errore...
...e quei blocchi che rimangono visibili in content bottom ho provato anche a spostarli sulla sidebar, senza cambiare nessun'altra impostazione se non la posizione... e sparivano magicamente, per ricomparire se li rispostavo in content bottom.
nell'.htaccess del tuo sito vai a mettere a posto il tutto settando:
DocumentRoot /acqua
Ciao
Marco
--
My blog
Working at @agavee
Ciao, probabilmente per ignoranza sbaglio io a piazzarlo, nell'htaccess avevo già:
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
RewriteBase /acqua
ho provato a sostituire "RewriteBase /acqua" con "DocumentRoot /acqua", a scriverli tutti e due uno sotto l'altro, ma in tutti e due i casi mi si sballa tutto (Internal Server Error su tutte le pagine)
Devo scriverlo da qualche parte in particolare del file, sotto qualche istruzione?
Il file htaccess lo avevo modificato perchè sono su Aruba:
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^
(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
Order allow,deny
</FilesMatch>
# Don't show directory listings for URLs which map to a directory.
# non supportato da aruba
# Options -Indexes
# Follow symbolic links in this directory.
# non supportato da aruba
# Options +FollowSymLinks
# Make Drupal handle any 404 errors.
ErrorDocument 404 /node/105
# Force simple error message for requests for non-existent favicon.ico.
<Files favicon.ico>
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>
# Set the default handler.
# non supportato da aruba
# DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
<IfModule mod_php4.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# PHP 4, Apache 2.
<IfModule sapi_apache2.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1
</IfModule>
# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
RewriteCond %{HTTP_HOST} ^vergari\.com$ [NC]
RewriteRule ^(.*)$ http://www.vergari.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
RewriteBase /acqua
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
# RewriteBase /
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
# $Id: .htaccess,v 1.90.2.3 2008/12/10 20:04:08 goba Exp $
scusa, errore mio..
DocumentRoot /acqua
Dovrebbe andare tutto...
Ciao
Marco
--
My blog
Working at @agavee
Avevi scritto così anche prima, e comunque ho riprovato, non va... mi restituisce "internal server error" su tutte le pagine...