Estoy tratando de habilitar mod_rewrite en una instancia de Amazon Linux. Las directivas de Mi directorio se ven así:
<Directory />
Order deny,allow
Allow from all
Options None
AllowOverride None
</Directory>
<Directory "/var/www/vhosts">
Order allow,deny
Allow from all
Options None
AllowOverride All
</Directory>
Y luego más abajo en httpd.conf tengo la LoadModule
directiva:
... other modules...
#LoadModule substitute_module modules/mod_substitute.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
... other modules...
He comentado todos los módulos de Apache que Wordpress no necesita.
Aún así, cuando emito el reinicio http y luego verifico los módulos cargados con /usr/sbin/httpd -l
, solo obtengo:
[root@foobar]# /usr/sbin/httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
Dentro del host virtual que contiene el sitio de Wordpress tengo un que .htaccess
contiene:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
El .htaccess es propiedad de apache, que es el usuario con el que se ejecuta apache. El apachectl -t
comando regresaSyntax OK
Mi /etc/httpd/conf.d/vhosts.conf
aspecto es este:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName foobar.net
ServerAlias www.foobar.net
DocumentRoot /var/www/vhosts/foobar/
ErrorLog /var/www/vhosts/foobar/logs/error.log
CustomLog /var/www/vhosts/foobar/logs/access.log combined
</VirtualHost>
¿Qué estoy haciendo mal? ¿Qué debo verificar?
fuente
RewriteEngine On
yRewriteRule ^.*$ http://www.wordpress.org/ [R]
confirme si la reescritura está funcionando. Debe pasar todo el tráfico al sitio web de Wordpress.Acabo de comenzar un nuevo Linux de Amazon y tuve el mismo problema y
Options FollowSymLink
estaban allí, pero la siguiente líneaAllowOverride None
tuvo que cambiarse aAllowOverride All
fuente
Mi configuración era correcta pero necesitaba
en la declaración de mi DocumentRoot en httpd.conf para que mod_rewrite funcione.
fuente
Tengo la solución para este problema .....
He cambiado
AllowOverride None
aAllowOverride all
, a continuaciónOptions Indexes FollowSymLinks
en el archivo de configuración/etc/httpd/conf/httpd.conf
¡Gracias!
fuente