Aktivieren von mod_rewrite unter Amazon Linux

Aktivieren von mod_rewrite unter Amazon Linux

Ich versuche, mod_rewrite auf einer Amazon Linux-Instanz zu aktivieren. Meine Verzeichnisanweisungen sehen folgendermaßen aus:

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

Und dann habe ich weiter unten in httpd.conf die LoadModuleAnweisung:

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

Ich habe alle Apache-Module auskommentiert, die Wordpress nicht benötigt.

Wenn ich immer noch einen HTTP-Neustart ausführe und dann die geladenen Module überprüfe, /usr/sbin/httpd -lerhalte ich nur:

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

Innerhalb des virtuellen Hosts, der die Wordpress-Site enthält, habe ich Folgendes .htaccess:

# 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

Die .htaccess gehört Apache, dem Benutzer, unter dem Apache läuft. Der apachectl -tBefehl gibt zurückSyntax OK

Meines /etc/httpd/conf.d/vhosts.confsieht so aus:

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

Was mache ich falsch? Was sollte ich überprüfen?

Antwort1

Die LoadModule-Direktive lädt ein Modul dynamisch.

RewriteEngine onVersuchen Sie , einen virtuellen Host einzugeben, gefolgt von apachectl -t, um zu bestätigen, ob das Modul tatsächlich geladen ist oder nicht.

Antwort2

Ich habe gerade ein neues Amazon Linux gestartet und hatte das gleiche Problem und die Options FollowSymLinkwaren da, aber die nächste Zeile AllowOverride Nonemusste geändert werden inAllowOverride All

Antwort3

Meine Konfiguration war korrekt, aber ich brauchte

Options FollowSymLink

in der Deklaration meines DocumentRoots in httpd.conf, damit mod_rewrite funktioniert.

Antwort4

Ich habe die Lösung für dieses Problem.....

Ich habe in der Konfigurationsdatei AllowOverride NoneFolgendes geändert AllowOverride all: Options Indexes FollowSymLinks/etc/httpd/conf/httpd.conf

Danke!

verwandte Informationen