Author Avatar

Staff

0

Share post:

Per impostazione predefinita, Drupal usa e genera URL per il vostro sito le pagine che assomigliano a “http://www.example.com/?q=node/83”. Questo stile di URL può essere difficile da leggere, e può impedire ad alcuni motori di ricerca di indicizzare tutte le pagine del tuo sito. La ricerca suggerisce che questo potrebbe non essere così grande un problema per alcuni dei principali motori di ricerca come una volta, tuttavia, vale la pena osservare la raccomandazione per i webmaster di linee guida di Google affermando:

Se si decide di utilizzare pagine dinamiche (ad esempio, l’URL contiene un carattere “?”), Si sappia che non tutti gli spider dei motori di ricerca effettuano la scansione delle pagine dinamiche oltre a pagine statiche. Essa aiuta a mantenere i parametri di breve e il numero esiguo.

Se siete insoddisfatti con gli URL di default in Drupal, si può essere in grado di dire Drupal di usare “gli URL pulito”, eliminando la “? Q =” nella URL del sito, e questa pagina spiega come farlo. Le istruzioni che seguono sono in gran parte applicabili solo per il server di configurazione più comune, che è un server web Apache in esecuzione su qualche tipo di Unix / Linux, con il modulo mod_rewrite di Apachemod_rewrite configurato e attivato nel file di configurazione httpd.conf. Se si esegue Drupal su un diverso tipo di server, verificare la sezione dei link qui sotto (appena sopra la sezione commenti di questa pagina) per vedere se ci potrebbe essere qualcosa che indirizzi la configurazione del server su una pagina diversa.

Prima di attivare gli URL semplificati nelle schermate di configurazione di Drupal (vedi sotto), può essere necessario per preparare il server per gli URL semplificati al lavoro. Ci sono due modi per preparare il server per gli URL semplificati di lavorare in Drupal. Se hai il controllo completo del server, ad esempio perché si esegue il server, l’installazione di un sito di sviluppo sul proprio personal computer, o di avere un server dedicato hosting account, allora si dovrebbe abilitare URL pulito nel file httpd.conf per una migliore prestazioni e sicurezza. Tuttavia, se avete un account di hosting condiviso (a DreamHost, Bluehost, HostGator, GoDaddy, 1and1, et al.), Non sarà in grado di modificare il file httpd.conf e dovrebbe utilizzare il Drupal. Htaccess invece.

L’attivazione di URL Pulizia in Drupal

Nota: L’installazione standard di Drupal contiene un campione. htaccess che supporta gli URL pulito. E ‘facile perdere la copia di questo file, a causa del leader “punto”. Quindi, prima di cercare di attivare Clean URL, assicurarsi che questo file esiste nella tua installazione di Drupal.

Drupal 6.x

In Drupal 6, le prove di installazione per la compatibilità con Clean URL come parte del processo di installazione. Se l’installatore non è stato in grado di eseguire il test con successo durante l’installazione, è possibile poi seguire le istruzioni riportate di seguito per Drupal 5 a get clean URL di lavoro. C’è una differenza minore: Drupal 6 verrà eseguito il test di pulizia URL automaticamente quando si accede alla pagina di configurazione Clean URL e mostrerà i risultati, al posto di darvi un link per eseguire il test manualmente.

Si noti inoltre che anche se gli URL pulite sono abilitati a installare con successo-time, se avete un server dedicato si può ancora voglia di seguire la seguente procedura per consentire la httpd.conf più efficiente metodo per riscrivere gli URL pulito. Se si sceglie di farlo, si potrebbe desiderare di disattivare gli URL di Pulizia mentre si sta lavorando sul server.

Drupal 5.x

Ecco i passi necessari per consentire Clean URL in Drupal 5:

  1. Vai alla amministrare> sito> Configurazione>> pulito urls sezione dell’interfaccia di amministrazione.
  2. Cercate il paragrafo che recita come segue:

    Questa opzione fa emettere Drupal “pulito” URL (cioè senza? Q = nell’URL.) Prima di attivare gli URL semplificati, è necessario eseguire un test per determinare se il server è configurato correttamente. Se si è in grado di vedere questa pagina dopo aver premuto il “Run” link del test clean URL, il test è riuscito e pulsanti di opzione di cui sopra saranno disponibili. Se invece sono diretti a una “Pagina non trovata” errore, sarà necessario modificare la configurazione del server. La pagina di manuale su Clean URL dispone di informazioni supplementari risoluzione dei problemi. Eseguire il test pulito URL.

  3. Clicca sul Eseguire il test pulito URL link alla fine del paragrafo precedente.
  4. Se la prova è riuscita, insieme Clean URL su “Enabled” e salvare la configurazione. Se la prova non è riuscita, utilizzare la seguente procedura per determinare la configurazione del server e riprovare.

Prima di Drupal 5.x

Per le versioni precedenti di Drupal Drupal 5, non vi è prova Pulizia automatica URL o link. Invece, è possibile verificare manualmente digitando l’URL pulita per la tua pagina impostazioni:http://www.example.com/admin/settings(dove www.example.comè sostituito dal vostro hostname). Se il risultato è vedere nella pagina delle impostazioni, e nessun errore, allora gli URL semplificati sono sicuri per permettere, e potete farlo con l’impostazione in questa pagina. Se c’è un errore, seguire le seguenti istruzioni per configurare il server.

Errore di recupero

L’attivazione di “Clean URLs” quando il server non è configurato correttamente (cioè se le prove URL Clean di cui sopra non) può rendere difficile per navigare indietro alle pagine di amministrazione ad annullare l’errore, perché tutti i menu generati Drupal e dei link con URL che non funzionano. Se vi trovate in questa situazione, è possibile ripristinare le impostazioni amministrative pagina digitando l’URL nella ‘non-clean’ form: http://www.example.com/?q=admin/settingsper le impostazioni di pagina admin in Drupal 4.x, o http://www.example.com/?q=admin/settings/clean-urlsper arrivare al 5 o Drupal Drupal 6 Pulire gli URL delle pagine delle impostazioni. Una volta lì, dovreste essere in grado di ripristinare a non utilizzare gli URL Clean.

Ci sono ulteriori istruzioni per il recupero da malfunzionamenti Clean URL della pagina Manuale pulito URL Unset.

Configurazione del server per Clean URL su un server dedicato, con httpd.conf

L’attivazione di URL pulito su un server dedicato comporta come segue:

  1. Attivare mod_rewrite di Apache. È possibile parlare con l’host web o consultare ladocumentazione di Apache mod_rewrite per avere maggiori informazioni su come eseguire questa operazione. Come minimo, si tratterà di fare in modo che mod_rewrite è abilitato per l’installazione di Apache.

    Per verificare se mod_rewrite è disponibile in Apache2, è possibile digitare il seguente al prompt dei comandi, per elencare tutti i moduli installati Apache:

    apache2ctl-M

    Su alcuni sistemi questo comando può essere:

    apachectl-M

    In uscita, controllare per vedere se l’ rewrite_moduleè incluso nella lista dei moduli.

    Se il modulo riscrittura non è nella lista, dovranno essere compilati o reso disponibile come modulo caricabile. In generale, si può dire ad Apache di caricare il modulo inserendo

    LoadModule rewrite_module modules / mod_rewrite.so
    AddModule mod_rewrite.c

    nel file di configurazione di Apache (vedi sotto per informazioni sui file di configurazione). Assicurarsi di rimuovere il commento mod_rewrite.c AddModule, se è nel file di configurazione, ma è stato commentato. Il seguente potrebbe funzionare per abilitare il modulo senza modificare alcun file:

    a2enmod riscrivere

    Si noti che questi approcci non possono funzionare per tutte le combinazioni di sistema operativo e server Apache – consultare la documentazione di Apache fornito con il software Apache per la sintassi corretta.

    Ricordati di riavviare Apache per la nuova configurazione abbia effetto.

  2. Il passo successivo è quello di individuare l’appropriato file di configurazione di Apache per il sito. A seconda della configurazione del server, il file di configurazione di Apache appropriato potrebbe essere httpd.conf, un host specifico file virtuale (vhost.conf), un sito di file specifici (ad esempio “default”), o apache2.conf. Essi sono di solito si trova in / Etc / httpd / conf, / Etc/apache2, o una sub-directory, in caso contrario, provare il comando:
    find / etc-httpd nome *

    per trovare il file se si trova altrove nel file system.

    Se non si dispone di autorizzazioni di scrittura per questi file, e gli URL pulito non funzionano out-of-the-box per voi, potrebbe essere necessario chiedere all’amministratore di sistema o fornitore di hosting per chiedere aiuto. Potrebbe comunque essere in grado di leggere questi file di configurazione per risolvere un po ‘però.

  3. Il passo successivo è quello di copiare o includere le impostazioni specifiche Drupal direttamente nel file di configurazione. Ci sono le istruzioni qui per come includere le direttive Drupal nel file la configurazione. Consultare il file. htaccess nella pagina di Drupal per gli esempi di regole, come le seguenti:
    <Directory /var/www/example.com>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    </Directory>

Nota: se non si vuole mettere il riscrivere le regole nel file di configurazione di Apache, è comunque possibile utilizzare semplicemente il Drupal. Htaccess (come si farebbe se si fosse in hosting condiviso). È necessario avere la direttiva Allow override impostate nel file di configurazione di Apache (questo permetterà locale. Htaccess sovrascrive sul vostro sito):

AllowOverride All
AccessFileName. htaccess

Leggere “ Dietro le quinte con Apache. htaccess per una profonda revisione del. htaccess; questo sito altro ha i campioni di Apache 2 direttive.

Nota MultiViews Per quanto riguarda: Apache supporta una funzionalità denominata “MultiViews” (più in generale: “Content Negotiation”), che consente la navigazione delle pagine senza alcuna necessità di estensioni di file. Per esempio, se si ha un file chiamato “evaluation.txt”, un sito abilitato MultiViews potrebbe accedere a questo file con l’URL “example.com / valutazione”. Mentre MultiViews può essere una funzione utile se usato consapevolmente, può causare problemi quando Drupal URL Clean sono abilitati. Se non sai cosa stai facendo, non si deve usare MultiViews se si prevede di utilizzare la funzionalità di URL Pulizia di Drupal. Tuttavia, MultiViews non è attivata in una installazione di default di Apache, quindi è probabile che questa nota non si applica. consultare la documentazione di Apache per ulteriori informazioni su MultiViews.

Configurazione del server per Clean URL su un server condiviso, con. htaccess

L’installazione standard di Drupal contiene un campione. Htaccess che dovrebbe essere sufficiente per ottenere gli URL Clean esecuzione. E ‘facile perdere la copia di questo file, a causa del leader “punto”. Quindi, prima di cercare di attivare Clean URL, assicurarsi che questo file esiste nella tua installazione di Drupal.

Se avete installato questo file, ma Clean URL ancora non funziona, si può provare alcuni dei suggerimenti di risoluzione dei problemi qui di seguito. Se ancora non è possibile ottenere Clean URL di lavoro, contattare il fornitore di hosting.

Correzione dei problemi

Check. Htaccess è ancora in uso

Apache deve essere esplicitamente detto di rispettare il mandato nei vostri siti. Htaccess. Questo è disattivata per default, se la maggior parte ospiti avranno girato su. Questo è ciò che la AllowOverride Allsuddetta direttiva fa – rende. htaccess iniziare a lavorare.

htaccess Per verificare se il vostro host è attualmente anche leggendo il vostro., si può (temporaneamente) aggiungere qualche stringa al file spazzatura nel tentativo di spezzarlo. Il vostro sito dovrebbe iniziare immediatamente restituendo un “500 Server Error” quando si carica una pagina da quella directory a causa di questo errore di configurazione. (Rimuovere la stringa di spazzatura immediatamente)

Se si esegue questa operazione, e il vostro sito non rompere – allora. htaccess viene ignorato e non sarà in grado di utilizzare gli URL pulito fino a ottenere il sostegno di vostri ospiti. Alcuni host consentono di attivare questa opzione attraverso il loro pannello di controllo di gestione del sito, in modo da guardare per primi.

RewriteBase impostazione

L’opzione di configurazione principale che può essere necessario modificare per il tuo sito è l’RewriteBase. Questo può essere specificato nella Drupal. Htaccess o nel file httpd.conf, a seconda di dove si sta mettendo il Drupal riscrivere direttive (vedi sopra). Per impostazione predefinita, l’impostazione RewriteBase è commentata della Drupal. Htaccess, e che funziona bene per molte configurazioni.

Se si hanno difficoltà a raggiungere Clean URL al lavoro, può essere necessario modificare questa impostazione. Ad esempio, se il vostro Apache DocumentRoot è / Var / www /(cioè / var / www / index.html è ciò che viene visualizzato quando si punta il browser su http://www.example.com/) e l’installazione di Drupal è installato nella sottodirectory / Var / www / mysite /, quindi il RewriteBase potrebbe essere fissato per

RewriteBase / ilmiosito

e che potrebbe aiutare. In alcune configurazioni, l’impostazione

RewriteBase /

consentirà URL pulito al lavoro.

Multi-site

RewriteBase funziona quando la vostra installazione di Drupal serve solo un sito, o quando tutti i siti che serve sono nella stessa sottodirectory della loro domini. Per esempio,

RewriteBase /

lavorerà per i seguenti siti:

http://www.example.com/
http://www.example2.com/
http://www.example3.com/

E

RewriteBase / ilmiosito

lavorerà per i seguenti siti:

http://www.example.com/mysite
http://www.example2.com/mysite
http://www.example3.com/mysite

Tuttavia, se i siti si trovano in differenti sottodirectory, RewriteBasenon funzionerà. Sarà necessario creare una regola speciale per ogni sottodirectory. Ad esempio, l’installazione di Drupal, possono servire i seguenti siti:

http://www.example.com/
http://www.example.com/mysite

Al fine di consentire gli URL pulita per entrambi i siti, sarà necessario aggiungere

RewriteCond% (REQUEST_FILENAME)!-F
RewriteCond% () REQUEST_FILENAME!-d
RewriteCond% (REQUEST_URI) ^ / ilmiosito /(.*)$
RewriteRule ^(.*)$ / mysite / index.php? q = $ 1 [L, QSA]

prima che l’attuale regole di riscrittura.

Posizione index.php

Per alcune configurazioni del server, un altro cambiamento al Drupal. File htaccess può essere necessario. Trovare una linea simile a questa, verso la fine del tuo Drupal. Htaccess:

RewriteRule ^(.*)$ index.php? Q = $ 1 [L, QSA]

Potrebbe essere necessario sostituire index.phpcon il percorso URL per il file index.php di installazione di Drupal il tuo (solo la parte dopo l’URL di base). Ad esempio, se il tuo sito Home Page di URLhttp://example.com/subdir/, potrebbe essere necessario utilizzare / Subdir / index.phpal posto diindex.php. Se il tuo sito Home Page di URL http://example.com/, potrebbe essere necessario utilizzare/ Index.phpal posto di index.php. Ciò è necessario per alcuni, ma non tutte le configurazioni di server.

Anche gli URL più pulita con il percorso di modulo

Uso Clean URL causerà Drupal per generare gli URL nel modulo “http://www.example.com/node/83”. Per modificare il ‘nodo / numero di’ In parte dell’URL a qualcosa di più come ‘news/june-1st-news’ un sito avrà bisogno del modulo del percorso attivato. Vedi la pagina di manuale Percorso modulo per maggiori informazioni sul percorso usando il modulo.

L'Isam il metodo di accesso sequenziale sincronizzato
Crea un social tipo Digg con PHPDug