2012-09-06 13 views
17

Acabo de transferir mi blog de mi servidor web local a Amazon EC2 Free Linux server, Todo parece funcionar ahora excepto por los enlaces permanentes, los desactivé y volví a habilitar, y aún se rompe.Permalinks en Wordpress EC2

he tratado de ejecutar el script

sudo a2enmod rewrite 

Pero dice a2enmod: comando no encontrado mientras está conectado a mi servidor como EC2 usuario

Cualquier ayuda sería muy apreciada!

Gracias

Respuesta

43

acabo de tener este mismo problema y, suponiendo que está utilizando httpd, tendrá que ir al /etc/httpd/conf, luego abrir http.conf ejecutando sudo vi httpd.conf y luego cambiar "AllowOverride" a:

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

También puede ser necesario cambiar AllowOverride All aquí:

# AllowOverride controls what directives may be placed in .htaccess files. 
# It can be "All", "None", or any combination of the keywords: 
# Options FileInfo AuthConfig Limit 
# 
    AllowOverride All 

Luego hay que reiniciar httpd ejecutando apachectl -k restart. Tenga en cuenta que es posible que necesite ejecutar realmente sudo apachectl -k restart.

Avísame si eso ayuda.

+1

Hey Carl ¡No puedo agradecerte más! especialmente la parte 'sudo apachecl -k restart'. No pude encontrar eso en otras fuentes y estaba tan frustrado ... ¡Gracias! –

+0

'apachectl -k restart' no funcionó para mí, pero' sudo service httpd restart' hizo – jaressloo

+0

Tenía un amigo con un problema similar, y su configuración era ligeramente diferente. Su instalación wordpress estaba en 'var/www/html /', y había una directiva 'AllowOverride None' en el bloque del directorio para ese directorio específico. En ese caso, tendrá que configurar la directiva 'AllowOverride' como' All' en el bloque de directorio para esa carpeta específica - Y yo recomendaría dejarlo '' None' para los otros bloques de directorio que no son usando wordpress. – SierraKomodo

0

Su servidor puede que no tengan activada la directriz AllowOverride. Si la directiva AllowOverride está configurada en None en su archivo httpd.config de Apache, los archivos .htaccess se ignoran por completo.

En este caso, el servidor ni siquiera intentará leer archivos .htaccess en el sistema de archivos. Cuando esta directiva se establece en Todo, entonces cualquier directiva que tenga el contexto .htaccess está permitida en los archivos .htaccess. Ejemplo de directiva AllowOverride habilitada en httpd.config:

Options FollowSymLinks

AllowOverride All

Este enlace también puede ser útil:http://codex.wordpress.org/Using_Permalinks

1

en AWS mi archivo estaba en una ubicación ligeramente diferente:

sudo nano /etc/httpd/conf/httpd.conf 

Después de cambiar AllowOverride None-AllowOverride All en ambos locaitons y reiniciar con sudo service httpd restart redirecciones enlace permanente un gran trabajo!

0

AllowOverride controla qué directivas se pueden colocar en los archivos .htaccess. Puede ser "todos", "Ninguno", o cualquier combinación de las palabras clave: Opciones FileInfo AuthConfig límite

AllowOverride All 

cuando he de poner esto en mi servidor, entonces me dieron 503 error interno del servidor, cualquier Advi favor ?

0

Tuve que usar AllowOverride All y Options + FollowSymLinks en más de un archivo .conf (y también probé la reescritura a2enmod mientras estaba en ello). Pero fue el último archivo .conf que aparentemente controlaba ese directorio (el .iso que usamos dio como resultado varios con el mismo directorio ... y el primero que cambié no tuvo efecto). Pero una vez que TODOS tenían ambas configuraciones, el sistema comenzó a funcionar.

1

básica: Connecting to Your Linux Instance from Windows Using PuTTY

Paso 1: Abrir PuTTY para iniciar sesión en la consola de AWS EC2

Paso 2: Introduzca la dirección del servidor

enter image description here

Paso 3: Examine de autenticación de clave privada en la masilla

enter image description here

Paso 4: Entrar a través de AWS PuTTY (Enter “Inicio de sesión como nombre” es decir, el nombre de la instancia AWS EC2. para el ejemplo anterior: EC2-usuario)

Paso 5: Cambiar el directorio/etc/httpd/conf ($ cd /etc/httpd/conf)

Paso 6: ejecutar sudo vi httpd.conf para actualizar el archivo httpd.conf. (Archivo httpd.conf Abrir en editor VI)

actualización Siguiendo

<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
</Directory> 

Para

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

Y

# AllowOverride controls what directives may be placed in .htaccess files. 
# It can be "All", "None", or any combination of the keywords: 
# Options FileInfo AuthConfig Limit 
# 
    AllowOverride None 

Para

# AllowOverride controls what directives may be placed in .htaccess files. 
# It can be "All", "None", or any combination of the keywords: 
# Options FileInfo AuthConfig Limit 
# 

    AllowOverride All 

Paso 7: guardar y salir del editor VI.

para guardar y salir de la llave VI editor de prensa [Esc] y escriba :wq

Paso 8: Reinicia Apache

Tipo sudo apachectl -k restart

final pantalla

enter image description here