GNU/Linux >> Tutoriales Linux >  >> Linux

Consejos y trucos de Linux .htaccess

Este artículo utiliza las siguientes tecnologías:

  • Servidores en la nube Linux® que ejecutan Apache®
  • Servidores Linux dedicados que ejecutan Apache
  • Sitios en la nube de Rackspace

Puede realizar modificaciones en su sitio utilizando un .htaccess archivo. Este artículo le muestra algunas de las modificaciones que puede realizar.

Localice su archivo .htaccess

En los sistemas de archivos UNIX® y Linux, un punto precede a los nombres de los archivos ocultos (por ejemplo, .htaccess y .htpasswd ). FileMan y muchas aplicaciones de Protocolo de transferencia de archivos (FTP) no muestran archivos ocultos de forma predeterminada.

La forma en que muestra los archivos ocultos, incluido su .htaccess archivo, depende del programa FTP que esté utilizando. Esta sección le muestra cómo hacer esto en programas FTP populares.

Cambiar el tiempo máximo de ejecución de PHP

Si está utilizando sitios en la nube, debe cambiar el tiempo de ejecución máximo de PHP® para un servidor en la nube utilizando un .htaccess archivo.

En un .htaccess archivo en el mismo directorio que el script de ejecución, incluya la siguiente línea:

php_value max_execution_time <PHP maximum execution time>

Reemplazar PHP maximum execution time con el valor que desee utilizar como tiempo máximo de ejecución. El tiempo predeterminado es de 30 segundos. Cuando modifica correctamente el archivo, el nuevo tiempo máximo de ejecución se muestra en su archivo de información de PHP.

Cambiar el límite de memoria de PHP

Si está utilizando sitios en la nube, debe cambiar el límite de memoria de PHP utilizando un .htaccess archivo.

En un .htaccess archivo en el mismo directorio que el script de ejecución, incluya la siguiente línea:

php_value memory_limit <megabytes>M

Reemplazar megabytes con el valor de megabytes que desea utilizar. El tamaño predeterminado es de 128 MB. Cuando modifica correctamente el archivo, el nuevo límite de memoria se muestra en su archivo de información de PHP.

Cambiar el tamaño máximo de archivo de carga de PHP

Si está utilizando sitios en la nube, debe cambiar el tamaño máximo de archivo de carga de PHP mediante un .htaccess archivo.

En un .htaccess archivo en el mismo directorio que el script de ejecución, incluya la siguiente línea:

php_value upload_max_filesize <megabytes>M

Reemplazar megabytes con el valor en megabytes que desea utilizar. El tamaño predeterminado es de 8 MB. Cuando modifica correctamente el archivo, el nuevo tamaño máximo de carga se muestra en su archivo de información de PHP.

Si está ejecutando WordPress® y continúa teniendo problemas después de aumentar el tamaño máximo de carga, puede intentar incluir las siguientes configuraciones adicionales:

php_value post_max_size ?M
php_value max_execution_time 200
php_value max_input_time 200

Cambiar el valor de tamaño máximo de la publicación

Si está utilizando Cloud Sites, debe cambiar el tamaño máximo de la publicación mediante un .htaccess archivo.

En un .htaccess archivo en el mismo directorio que el script de ejecución, incluya la siguiente línea:

php_value post_max_size <megabytes>M

Reemplazar megabytes con el valor en megabytes que desea usar (por ejemplo, 16 ).

Crea una redirección 301

Una redirección 301 es un mensaje de estado del Protocolo de transferencia de hipertexto (HTTP) que transfiere permanentemente a un usuario o motor de búsqueda a un Localizador uniforme de recursos (URL) que es diferente al que se solicitó originalmente. El uso de una redirección 301 es una forma eficaz de garantizar que los usuarios y los motores de búsqueda encuentren su contenido.

Los siguientes ejemplos son específicos de PHP y solo funcionan si configuró su sitio en la nube para PHP. Estos ejemplos no funcionan para Internet Information Services (IIS) con Active Server Pages (ASP) o ASP.NET.

Ejemplos de redirección

Los siguientes ejemplos son ejemplos básicos de redireccionamiento 301 que usan un .htaccess expediente. Guarde este archivo en la carpeta desde la que desea realizar la redirección.

Por ejemplo, si coloca el .htaccess archivo en la carpeta /www.domain.com/web/content/ (usando FTP), la redirección ocurre cuando un visitante va a http://www.domain.com en su navegador.

La siguiente tabla muestra cómo realizar diferentes tipos de redirecciones agregando código a su .htaccess archivo:

Redireccionar Ejemplo
Redireccionar una sola página Redirect 301 /pagename.php http://www.domain.com/pagename.html
Redireccionar un sitio completo Redirect 301 / http://www.domain.com/
Redireccionar un sitio completo a una subcarpeta Redirect 301 / http://www.domain.com/subfolder/
Redireccionar una subcarpeta a otro sitio Redirect 301 /subfolder http://www.domain.com/
Redirigir usando RedirectMatch 301

La siguiente sintaxis redirige un archivo con .html extensión para usar el mismo nombre de archivo, pero con .php extensión en su lugar:

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

También puede realizar una redirección 301 reescribiendo una URL en tu .htaccess expediente. Varias de las siguientes secciones incluyen código de ejemplo para realizar esta tarea.

Redirigir de un dominio antiguo a un dominio nuevo

Utilice la siguiente sintaxis de reescritura para redirigir desde un dominio antiguo a un dominio nuevo:

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

Redirigir a una ubicación que utiliza un subdominio

Use la siguiente sintaxis de reescritura para redirigir a una ubicación que usa el subdominio www :

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

Redirigir a un subdirectorio de una ubicación que usa el subdominio

Use la siguiente sintaxis de reescritura para redirigir a un subdirectorio de una ubicación que usa el subdominio:

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

Redirigir desde una ubicación que usa el subdominio a otra que no

Use la siguiente sintaxis de reescritura para redirigir desde una ubicación que usa el subdominio a una que no lo hace:

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

Nota :Utilice la herramienta Comprobador de redirección compatible con motores de búsqueda para verificar que su redirección sea compatible con motores de búsqueda.

Cambiar el conjunto de caracteres predeterminado para PHP

También puede cambiar el conjunto de caracteres predeterminado para PHP modificando su .htaccess expediente. En un .htaccess archivo en el directorio para el que desea cambiar el conjunto de caracteres, incluya la siguiente línea de código:

php_value default_charset <character set>

Reemplazar character set con el conjunto de caracteres que requiere su sitio, como ISO-8859-1 .

Nota :Cloud Sites usa el conjunto de caracteres predeterminado UTF-8 si no especifica uno diferente en un .htaccess archivo.

Defina tipos MIME en su sitio web basado en Linux y Apache

Si hay un tipo de extensiones de correo de Internet multipropósito (MIME) que no está definido en su sitio web basado en Linux y Apache, puede definirlo en su .htaccess archivo agregando el siguiente código:

AddType MIMETYPE .extension

Por ejemplo, para agregar el tipo MIME para QuickTime .mov o .qt archivo, agrega el siguiente código:

AddType video/quicktime .qt .mov

Para obtener una lista completa de los tipos MIME compatibles con Apache, consulte ApacheSoftware Foundation SubversionServer.

Nota :Es posible que el formato del enlace anterior no sea del todo correcto para su uso en un .htaccess archivo.

Fuerza SSL en su sitio PHP

Puede obligar a los usuarios a acceder a su sitio PHP de forma segura a través de Secure Sockets Layer (SSL) agregando código a su .htaccess archivo.

Use el siguiente código para forzar SSL en un sitio web completo:

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

Use el siguiente código para forzar SSL en un directorio específico:

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

Cambiar el documento predeterminado en su sitio PHP

Para cambiar el documento predeterminado en su sitio web basado en PHP, agregue el siguiente código a .htaccess archivo:

DirectoryIndex filename.html

También puede agregar nombres de archivos adicionales a este código, como se muestra en el siguiente ejemplo:

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

Cambiar el conjunto de caracteres predeterminado para HTML

Para cambiar el conjunto de caracteres predeterminado para HTML, agregue las siguientes líneas a un .htaccess archivo ubicado en el directorio para el que desea cambiar el conjunto de caracteres, como se muestra en el siguiente ejemplo:

AddDefaultCharset <character set>

Reemplazar character set con el conjunto de caracteres que requiere su sitio, como UTF-8 .

Alternativamente, puede usar el AddType directiva, como se muestra en el siguiente ejemplo:

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

Nota :Cloud Sites usa el conjunto de caracteres predeterminado UTF-8 si no especifica uno diferente en un .htaccess archivo.

Habilitar SSI

Puede activar las inclusiones del lado del servidor (SSI) utilizando .htaccess con las siguientes directivas:

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

Nota :No puede servir contenido PHP usando SSI. Para el contenido de PHP, le recomendamos que utilice las declaraciones include o require de PHP, o utilice un marco en línea, como se muestra en el siguiente ejemplo:

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

Evitar que los scripts PHP se ejecuten en un directorio

Para evitar que los scripts PHP se ejecuten en un directorio, cree un .htaccess archivo en ese directorio y agregue la siguiente línea:

removehandler .php

Luego, agregue las extensiones de archivo que desea detener.

Procesar PHP en HTML y otras páginas

Puede hacer que PHP se procese en páginas HTM y HTML configurando esas extensiones para que las sirva el controlador de PHP. Puede habilitar el procesamiento de PHP en .htm y .html archivos en su .htaccess usando las siguientes directivas:

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

También puede procesar PHP en archivos que tengan la extensión .test usando las siguientes directivas:

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

Puede encontrar más información sobre el AddHandler y AddType directivas en el sitio web de Apache.

Nota :Le recomendamos que utilice únicamente la extensión PHP para páginas PHP.

Configure páginas de error para su sitio web PHP

Puede crear páginas de error personalizadas para su sitio web PHP colocando una línea similar al siguiente ejemplo en su .htaccess archivo:

ErrorDocument "code" "location of error document"

El siguiente ejemplo muestra cómo crear una página de error 404:

ErrorDocument 404 /404.html

Puede usar esta directiva para crear páginas de error para otros códigos de error también. Sin embargo, debe especificar la ruta a la página de error relativa a la ubicación del .htaccess archivo.

Habilitar la lista de directorios en PHP

Para habilitar la lista de directorios en PHP, agregue la siguiente línea a su .htaccess archivo:

Options +Indexes

Desactivar comillas mágicas

Para muchas instalaciones del sistema de administración de contenido (CMS) de Joomla!®, los clientes deben desactivar las Citas mágicas opción en PHP 5.3. (Esta función se eliminó a partir de PHP 5.4). Agrega el siguiente código a tu .htaccess archivo para desactivar las Citas Mágicas función:

php_flag magic_quotes_gpc Off

Establecer la zona horaria para un sitio web que se ejecuta en Linux y PHP

Utilice la información de esta sección para cambiar la zona horaria de su sitio web que se ejecuta en Linux y PHP.

Zona horaria predeterminada

La zona horaria predeterminada para Rackspace Cloud Sites es la hora central (Norteamérica) y se observa el horario de verano. Las compensaciones UTC son las siguientes:

  • Hora estándar central UTC−6:00
  • Hora de verano central UTC−5:00

Cambiar la zona horaria

Para cambiar la zona horaria de su sitio web que se ejecuta en Linux y PHP, debe editar su .htaccess archivo para incluir la siguiente línea:

php_value date.timezone <TIMEZONE>

Para obtener una lista completa de posibles TIMEZONE valores, consulte la Lista de zonas horarias admitidas.

El siguiente ejemplo muestra cómo establecer la zona horaria en Dubái:

php_value date.timezone Asia/Dubai

Probar el cambio de zona horaria

Para probar el cambio de zona horaria, consulte el archivo de información PHP o ejecute el siguiente archivo PHP:

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

Linux
  1. Consejos y trucos para usar CUPS para imprimir con Linux

  2. 10 trucos y consejos interesantes sobre la línea de comandos de Linux que vale la pena conocer

  3. Consejos y trucos de variables de entorno de Linux

  4. Consejos y trucos para curl y wget

  5. Consejos y trucos de rsync favoritos

Consejos y trucos para usar el comando wget Linux

Una introducción al hashing y las sumas de verificación en Linux

Cómo crear y usar un archivo de intercambio en Linux

Consejos y trucos para usar Ctrl+Z en Ubuntu Linux

19 consejos y trucos útiles para la línea de comandos de Linux

El año de Linux en el escritorio (Windows) - Consejos y trucos de WSL