J'essaie d'activer mod_rewrite sur une instance Amazon Linux. Mes directives d'annuaire ressemblent à ceci:
<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>
Et puis plus bas dans httpd.conf j'ai la LoadModule
directive:
... 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...
J'ai commenté tous les modules Apache dont Wordpress n'a pas besoin.
Toujours quand j'émets le redémarrage http et vérifie ensuite les modules chargés avec /usr/sbin/httpd -l
j'obtiens seulement:
[root@foobar]# /usr/sbin/httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
À l'intérieur de l'hôte virtuel contenant le site Wordpress, j'ai un .htaccess
contenant:
# 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
Le .htaccess appartient à apache qui est l'utilisateur sous lequel apache s'exécute. La apachectl -t
commande retourneSyntax OK
Mon /etc/httpd/conf.d/vhosts.conf
ressemble à ceci:
<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'est-ce que je fais mal? Que dois-je vérifier?
la source
RewriteEngine On
etRewriteRule ^.*$ http://www.wordpress.org/ [R]
pour confirmer si la réécriture fonctionne du tout. Il devrait transmettre tout le trafic vers le site Web Wordpress.Je viens de commencer un nouveau Linux amazon et j'ai eu le même problème et
Options FollowSymLink
il y en avait mais la ligne suivanteAllowOverride None
a dû être changée enAllowOverride All
la source
Ma configuration était correcte mais j'avais besoin
dans ma déclaration DocumentRoot dans httpd.conf pour que mod_rewrite fonctionne.
la source
J'ai trouvé la solution à ce problème .....
J'ai changé
AllowOverride None
pourAllowOverride all
, ci-dessousOptions Indexes FollowSymLinks
dans le fichier de configuration/etc/httpd/conf/httpd.conf
Merci!
la source