Je n'arrive pas à faire fonctionner mon fichier .htaccess correctement.
Dans mon fichier Apache2.conf
, j'ai les éléments suivants.
<Directory /home/felix/mysite>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Mais cela ne change rien. Je reçois toujours une erreur 404 lorsque je tente d’atteindre différentes pages de mon site Web.
EDIT plus d'infos:
Ubuntu 16.04
Apache 2.4
A l'intérieur de mes sites sites-available
J'ai mon fichier mysite.se.conf
qui ressemble à:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/felix/mysite
ServerName mysite.se
ServerAlias www.mysite.se
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
J'ai essayé de supprimer cette partie de Apache2.conf:
<Directory /home/felix/mysite>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Et j'ai reçu ce message maintenant You don't have permission to access / on this server. Server unable to read htaccess file, denying access to be safe
.
Je reçois ce message maintenant même quand j'ai rajouté cette partie.
Le site que j'essaye de mettre au travail est construit avec WordPress. Dans le dossier racine de ce site, j'ai un fichier .htaccess qui ressemble à ceci:
# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
# End Error
# BEGIN WordPress
<IfModule mod_rewrite.c>
ReewriteEngine On
eRewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Le fait est que ces paramètres fonctionnent sur une autre machine Ubuntu. Et l'administrateur du serveur n'a pas pu trouver l'erreur dans la mienne. Donc, il a dit que c’est probablement une faute dans la configuration d’Apache2. Mais je ne peux pas le localiser, tout semble être comme il se doit.
Je pense que cela pourrait être en cause: https://www.digitalocean.com/community/questions/wordpress-permalinks-not-working-on-ubuntu-14-04
spécifiquement: Also make sure your .htaccess file has the proper permissions for WP to write to it. You'll see an error if it doesn't.
Comment puis-je le changer en droit de permission?
SOLUTION:
Je suis désolé de ne pouvoir donner une meilleure solution. Mais tout ce que j'ai fait était Sudo a2enmod rewrite
puis Sudo service Apache2 restart
. La première fois que j'ai fait cela, j'ai eu une erreur (erreur de serveur 500 ou une erreur de permission 403, je ne m'en souviens pas), mais j'ai réessayé ce matin et cela a fonctionné. Donc, mes fichiers ressemble toujours à ce qui précède.
Essayez de modifier mysite.se.conf
:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/felix/job/fello
ServerName test.fello.se
ServerAlias www.test.fello.se
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
<Directory "/home/felix/job/fello">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Et vérifiez le chemin d'accès à votre site /home/felix/mysite
ou /home/felix/job/fello
?