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 weiter unten in httpd.conf habe ich die LoadModule
Direktive:
... 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 von Wordpress nicht benötigt werden.
Immer noch, wenn ich http Neustart ausgeben und dann die geladenen Module mit überprüfen, /usr/sbin/httpd -l
bekomme ich nur:
[root@foobar]# /usr/sbin/httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
In dem virtuellen Host, der die Wordpress-Site enthält, befindet sich 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
Der .htaccess gehört Apache, unter dem der Benutzer Apache ausgeführt wird. Der apachectl -t
Befehl kehrt zurückSyntax OK
Mein /etc/httpd/conf.d/vhosts.conf
sieht 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 soll ich überprüfen?
quelle
RewriteEngine On
undRewriteRule ^.*$ http://www.wordpress.org/ [R]
bestätigen Sie, ob das Umschreiben überhaupt funktioniert. Der gesamte Datenverkehr sollte an die Wordpress-Website weitergeleitet werden.Ich habe gerade ein neues Amazon Linux gestartet und hatte das gleiche Problem und die
Options FollowSymLink
waren da, aber die nächste ZeileAllowOverride None
musste geändert werdenAllowOverride All
quelle
Meine Konfiguration war korrekt, aber ich brauchte
in der Erklärung von DocumentRoot in httpd.conf, damit mod_rewrite funktioniert.
quelle
Ich habe die Lösung für dieses Problem .....
Ich habe mich verändert ,
AllowOverride None
umAllowOverride all
unterOptions Indexes FollowSymLinks
in der Konfigurationsdatei/etc/httpd/conf/httpd.conf
Vielen Dank!
quelle