Habilitar mod_rewrite no Amazon Linux

Habilitar mod_rewrite no Amazon Linux

Estou tentando habilitar o mod_rewrite em uma instância do Amazon Linux. Minhas diretivas de diretório são assim:

<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>

E mais abaixo no httpd.conf eu tenho a LoadModulediretiva:

... 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...

Comentei todos os módulos do Apache não necessários ao Wordpress.

Ainda assim, quando emito reinicialização http e verifico os módulos carregados, /usr/sbin/httpd -lrecebo apenas:

[root@foobar]# /usr/sbin/httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c

Dentro do host virtual que contém o site Wordpress eu tenho um .htaccesscontendo:

# 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

O .htaccess é de propriedade do Apache, que é o usuário sob o qual o Apache é executado. O apachectl -tcomando retornaSyntax OK

Meu /etc/httpd/conf.d/vhosts.conffica assim:

<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>

O que estou fazendo de errado? O que devo verificar?

Responder1

A diretiva LoadModule carregará um módulo dinamicamente.

Tente emitir RewriteEngine onem um host virtual seguido de apachectl -tpara confirmar o tempo ou se o módulo está realmente carregado.

Responder2

Acabei de iniciar um novo Amazon Linux e tive o mesmo problema e eles Options FollowSymLinkestavam lá, mas a próxima linha AllowOverride Noneteve que ser alterada paraAllowOverride All

Responder3

Minha configuração estava correta, mas eu precisava

Options FollowSymLink

na declaração do meu DocumentRoot em httpd.conf para que mod_rewrite funcione.

Responder4

Eu tenho a solução para esse problema.....

Eu mudei AllowOverride Nonepara AllowOverride all, abaixo Options Indexes FollowSymLinksno arquivo de configuração/etc/httpd/conf/httpd.conf

Obrigado!

informação relacionada