web-dev-qa-db-fra.com

apache2 virtualhost .htaccess fichier ne semble pas fonctionner

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.

2
Felix Rosén

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?

2
tagplus5