GNU/Linux >> Linux Esercitazione >  >> Linux

Suggerimenti e trucchi per Linux .htaccess

Questo articolo utilizza le seguenti tecnologie:

  • Server cloud Linux® che eseguono Apache®
  • Server Linux dedicati che eseguono Apache
  • Siti Rackspace Cloud

Puoi apportare modifiche al tuo sito utilizzando un .htaccess file.Questo articolo mostra alcune delle modifiche che puoi apportare.

Trova il tuo file .htaccess

Nei file system UNIX® e Linux, un punto precede i nomi dei file nascosti (ad esempio, .htaccess e .htpasswd ). FileMan e molte applicazioni FTP (File Transfer Protocol) non visualizzano i file nascosti per impostazione predefinita.

Il modo in cui visualizzi i file nascosti, incluso il tuo .htaccess file, dipende dal programma FTP che stai utilizzando. Questa sezione mostra come farlo nei programmi FTP più diffusi.

Modifica il tempo massimo di esecuzione PHP

Se stai utilizzando Cloud Sites, devi modificare il tempo di esecuzione massimo di PHP® per un server cloud utilizzando un .htaccess file.

In un .htaccess file nella stessa directory dello script in esecuzione, include la seguente riga:

php_value max_execution_time <PHP maximum execution time>

Sostituisci PHP maximum execution time con il valore che si desidera utilizzare come tempo massimo di esecuzione. Il tempo predefinito è 30 secondi. Quando modifichi correttamente il file, il nuovo tempo massimo di esecuzione viene visualizzato nel tuo file di informazioni PHP.

Modifica il limite di memoria PHP

Se stai utilizzando Cloud Sites, devi modificare il limite di memoria PHP utilizzando un .htaccess file.

In un .htaccess file nella stessa directory dello script in esecuzione, include la seguente riga:

php_value memory_limit <megabytes>M

Sostituisci megabytes con il valore in megabyte che si desidera utilizzare. La dimensione predefinita è 128 MB. Quando modifichi correttamente il file, il nuovo limite di memoria viene visualizzato nel tuo file di informazioni PHP.

Modifica la dimensione massima del file di caricamento PHP

Se stai utilizzando Cloud Sites, devi modificare la dimensione massima del file di caricamento PHP utilizzando un .htaccess file.

In un .htaccess file nella stessa directory dello script in esecuzione, include la seguente riga:

php_value upload_max_filesize <megabytes>M

Sostituisci megabytes con il valore in megabyte che si desidera utilizzare. La dimensione predefinita è 8 MB. Quando modifichi correttamente il file, la nuova dimensione massima di caricamento viene visualizzata nel file di informazioni PHP.

Se stai utilizzando WordPress® e continui ad avere problemi dopo aver aumentato la dimensione massima di caricamento, puoi provare a includere le seguenti impostazioni aggiuntive:

php_value post_max_size ?M
php_value max_execution_time 200
php_value max_input_time 200

Modifica il valore della dimensione massima del post

Se utilizzi Cloud Sites, devi modificare la dimensione massima del post utilizzando un .htaccess file.

In un .htaccess file nella stessa directory dello script in esecuzione, include la seguente riga:

php_value post_max_size <megabytes>M

Sostituisci megabytes con il valore del megabyte che desideri utilizzare (ad esempio, 16 ).

Crea un reindirizzamento 301

Un reindirizzamento 301 è un messaggio di stato HTTP (HyperText Transfer Protocol) che trasferisce permanentemente un utente o un motore di ricerca a un URL (Uniform Resource Locator) diverso da quello originariamente richiesto. L'utilizzo di un reindirizzamento 301 è un modo efficace per garantire che utenti e motori di ricerca trovino i tuoi contenuti.

Gli esempi seguenti sono specifici per PHP e funzionano solo se hai configurato il tuo sito cloud per PHP. Questi esempi non funzionano per Internet InformationServices (IIS) con Active Server Pages (ASP) o ASP.NET.

Esempi di reindirizzamento

I seguenti esempi sono esempi di reindirizzamento 301 di base che utilizzano un .htaccess file. Salva questo file nella cartella da cui desideri eseguire il reindirizzamento.

Ad esempio, se inserisci .htaccess nella cartella /www.domain.com/web/content/ (tramite FTP), il reindirizzamento si verifica quando un visitatore accede a http://www.domain.com nel proprio browser.

La tabella seguente mostra come eseguire diversi tipi di reindirizzamenti aggiungendo codice al tuo .htaccess file:

Reindirizzamento Esempio
Reindirizza una singola pagina Redirect 301 /pagename.php http://www.domain.com/pagename.html
Reindirizza un intero sito Redirect 301 / http://www.domain.com/
Reindirizza un intero sito a una sottocartella Redirect 301 / http://www.domain.com/subfolder/
Reindirizza una sottocartella a un altro sito Redirect 301 /subfolder http://www.domain.com/
Reindirizzamento utilizzando RedirectMatch 301

La seguente sintassi reindirizza un file con .html per utilizzare lo stesso nome file, ma con .php estensione invece:

RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php

Puoi anche eseguire un reindirizzamento 301 riscrivendo un URL nel tuo .htaccess file. Molte delle sezioni seguenti includono codice di esempio per eseguire questa attività.

Reindirizzamento da un vecchio dominio a un nuovo dominio

Utilizza la seguente sintassi di riscrittura per reindirizzare da un vecchio dominio a un nuovo dominio:

RewriteEngine on
RewriteBase / 
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Reindirizzamento a una posizione che utilizza un sottodominio

Utilizza la seguente sintassi di riscrittura per reindirizzare a una posizione che utilizza il sottodominio www :

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC]

Reindirizzamento a una sottodirectory di una posizione che utilizza il sottodominio

Utilizza la seguente sintassi di riscrittura per reindirizzare a una sottodirectory di una posizione che utilizza il sottodominio:

RewriteEngine on 
RewriteBase / 
RewriteCond %{HTTP_HOST} domain.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]

Reindirizzamento da una posizione che utilizza il sottodominio a una che non lo fa

Utilizza la seguente sintassi di riscrittura per reindirizzare da una posizione che utilizza il sottodominio a una che non lo fa:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Nota :utilizza lo strumento Verifica reindirizzamento ottimizzato per i motori di ricerca per verificare che il reindirizzamento sia compatibile con i motori di ricerca.

Modifica il set di caratteri predefinito per PHP

Puoi anche cambiare il set di caratteri predefinito per PHP modificando il tuo .htaccess file. In un .htaccess file nella directory di cui desideri modificare il set di caratteri, includi la seguente riga di codice:

php_value default_charset <character set>

Sostituisci character set con il set di caratteri richiesto dal tuo sito, ad esempio ISO-8859-1 .

Nota :Cloud Sites utilizza il set di caratteri predefinito UTF-8 se non ne specifichi uno diverso in un .htaccess file.

Definisci i tipi MIME sul tuo sito Web basato su Linux e Apache

Se esiste un tipo MIME (Multipurpose Internet Mail Extensions) non definito sul tuo sito Web basato su Linux e Apache, puoi definirlo nel tuo .htaccess file aggiungendo il seguente codice:

AddType MIMETYPE .extension

Ad esempio, per aggiungere il tipo MIME per un QuickTime .mov o .qt file, aggiungi il seguente codice:

AddType video/quicktime .qt .mov

Per un elenco completo dei tipi MIME supportati da Apache, vedere ApacheSoftware Foundation SubversionServer.

Nota :La formattazione nel link precedente potrebbe non essere del tutto corretta per l'uso in un .htaccess file.

Forza SSL sul tuo sito PHP

Puoi forzare gli utenti ad accedere al tuo sito PHP in modo sicuro tramite Secure Sockets Layer (SSL) aggiungendo codice al tuo .htaccess file.

Usa il codice seguente per forzare SSL su un intero sito web:

#Force SSL on entire site 
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC] 
RewriteRule ^(.*)$ https://(YOURDOMAIN)/$1 [R,L]

Utilizzare il codice seguente per forzare SSL su una directory specifica:

#Force SSL on a specific directory
RewriteEngine On
RewriteBase / 
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^DIRNAME/(.*)$ https://YOURDOMAIN/DIRNAME/$1 [R,L]

Modifica il documento predefinito sul tuo sito PHP

Per modificare il documento predefinito sul tuo sito Web basato su PHP, aggiungi il codice seguente a .htaccess file:

DirectoryIndex filename.html

Puoi anche aggiungere altri nomi di file a questo codice, come mostrato nell'esempio seguente:

DirectoryIndex filename.html default.htm home.php home.html

Modifica il set di caratteri predefinito per HTML

Per modificare il set di caratteri predefinito per HTML, aggiungi le seguenti righe a un .htaccess file che si trova nella directory di cui si desidera modificare il set di caratteri, come mostrato nell'esempio seguente:

AddDefaultCharset <character set>

Sostituisci character set con il set di caratteri richiesto dal tuo sito, ad esempio UTF-8 .

In alternativa, puoi utilizzare AddType direttiva, come mostrato nell'esempio seguente:

AddType 'text/html; charset=<character set>' html DefaultLanguage en-US

Nota :Cloud Sites utilizza il set di caratteri predefinito UTF-8 se non ne specifichi uno diverso in un .htaccess file.

Abilita SSI

Puoi attivare Server Side Include (SSI) utilizzando .htaccess con le seguenti direttive:

AddType text/html .shtml 
AddHandler server-parsed .shtml 
Options Indexes FollowSymLinks Includes

Nota :Non puoi servire contenuto PHP utilizzando SSI. Per i contenuti PHP, ti consigliamo di utilizzare le istruzioni include o require di PHP o di utilizzare un inlineframe, come mostrato nel seguente esempio:

<html> <head></head> <body> <iframe src="/support/how-to/test.php" title="test"> </iframe> </body> </html>

Interrompe l'esecuzione degli script PHP in una directory

Per impedire l'esecuzione di script PHP in una directory, crea un .htaccess file in quella directory e aggiungi la seguente riga:

removehandler .php

Quindi, aggiungi le estensioni di file che desideri interrompere.

Elabora PHP su HTML e altre pagine

È possibile eseguire l'elaborazione di PHP su pagine HTM e HTML impostando le estensioni in modo che vengano servite dal gestore PHP. Puoi abilitare l'elaborazione PHP su.htm e .html file nel tuo .htaccess utilizzando le seguenti direttive:

AddHandler application/x-httpd-php php htm html AddType text/html php

Puoi anche elaborare PHP su file con estensione .test utilizzando le seguenti direttive:

AddHandler application/x-httpd-php php test AddType text/html php

Puoi trovare maggiori informazioni su AddHandler e AddType le direttive sul sito web di Apache.

Nota :Ti consigliamo di utilizzare solo l'estensione PHP per le pagine PHP.

Imposta pagine di errore per il tuo sito web PHP

Puoi creare pagine di errore personalizzate per il tuo sito Web PHP inserendo una linea simile al seguente esempio nel tuo .htaccess file:

ErrorDocument "code" "location of error document"

L'esempio seguente mostra come creare una pagina di errore 404:

ErrorDocument 404 /404.html

È possibile utilizzare questa direttiva per creare pagine di errore anche per altri codici di errore. Tuttavia, è necessario specificare il percorso della pagina di errore relativa alla posizione del .htaccess file.

Abilita l'elenco delle directory in PHP

Per abilitare l'elenco delle directory in PHP, aggiungi la seguente riga al tuo .htaccess file:

Options +Indexes

Disattiva le virgolette magiche

Per molte installazioni del sistema di gestione dei contenuti (CMS) Joomla!®, i clienti devono disattivare Magic Quotes opzione in PHP 5.3. (Questa funzione è stata rimossa a partire da PHP 5.4). Aggiungi il seguente codice al tuo .htaccess per disattivare le Citazioni magiche funzione:

php_flag magic_quotes_gpc Off

Imposta il fuso orario per un sito Web in esecuzione su Linux e PHP

Utilizza le informazioni in questa sezione per modificare il fuso orario del tuo sito Web in esecuzione su Linux e PHP.

Fuso orario predefinito

Il fuso orario predefinito per Rackspace Cloud Sites è l'ora centrale (Nord America) e viene osservata l'ora legale. Gli offset UTC sono i seguenti:

  • Ora solare centrale UTC−6:00
  • Ora legale centrale UTC−5:00

Cambia il fuso orario

Per modificare il fuso orario del tuo sito web in esecuzione su Linux e PHP, devi modificare il tuo .htaccess file per includere la seguente riga:

php_value date.timezone <TIMEZONE>

Per un elenco completo di possibili TIMEZONE valori, vedere l'Elenco dei fusi orari supportati.

L'esempio seguente mostra come impostare il fuso orario su Dubai:

php_value date.timezone Asia/Dubai

Verifica la modifica del fuso orario

Per verificare la modifica del fuso orario, controlla il file di informazioni PHP o esegui il seguente file PHP:

<?php echo date('l jS \of F Y h:i:s A'); ?>

Linux
  1. Suggerimenti e trucchi per l'utilizzo di CUPS per la stampa con Linux

  2. Come reindirizzare l'output su un file e Stdout in Linux

  3. Gli 8 migliori trucchi e suggerimenti per la riga di comando di MySQL

  4. File system supportati e consigliati su Linux

  5. Suggerimenti e trucchi preferiti per rsync

Suggerimenti e trucchi per l'utilizzo del comando wget Linux

Un'introduzione all'hashing e ai checksum in Linux

Come creare e utilizzare file di scambio su Linux

Suggerimenti e trucchi per usare Ctrl+Z in Ubuntu Linux

19 Suggerimenti e trucchi utili per la riga di comando di Linux

L'anno di Linux sul desktop (Windows) - Suggerimenti e trucchi WSL