Question Comment activer mod_rewrite dans Apache?


Je viens d'installer la pile LAMP sur mon système Ubuntu.

La redirection ne fonctionne pas pour moi. Je ne sais pas comment le réparer. Quelqu'un peut-il m'aider?


158
2018-06-12 13:45


origine


IMHO cette question n'est pas spécifique à Ubuntu et devrait être migré vers Erreur de serveur. - Paolo
L'OP a installé la lampe sur UBUNTU. Combien plus Ubuntu spécifique voulez-vous? - wojox
@wojov: Je ne sais pas à propos de cette affaire, mais cet argument ne fonctionne pas. "Comment puis-je utiliser cette application (sur Ubuntu)?" sont principalement hors sujet.
Ce n'est pas un "Comment puis-je utiliser l'application", mais un "comment activer une fonctionnalité spécifique dans Ubuntu". Apache sous Ubuntu utilise une disposition de configuration différente dans laquelle chaque module et hôte virtuel est un fichier dans /etc/apache2 et qui peut être activé en utilisant a2* programmes. - Lekensteyn
Vous devez décrire ce que vous avez fait pour réduire le problème, - ericn


Réponses:


Pour activer le module de réécriture, lancez "apache2 enable module rewrite":

sudo a2enmod rewrite

Vous devez redémarrer le serveur Web pour appliquer les modifications:

sudo service apache2 restart

Si vous prévoyez d'utiliser mod_rewrite dans .htaccess fichiers, vous devez également activer l'utilisation de .htaccess fichiers en changeant AllowOverride None à AllowOverride FileInfo. Pour le site Web par défaut, modifiez /etc/apache2/sites-available/default:

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

Après un tel changement, vous devez redémarrer Apache.


231
2018-06-12 13:49



J'ai eu plus de succès avec AllowOverride All - Valentin Despa
Merci! sudo a2enmod rewrite et FileInfo réparé pour moi! - d-_-b
Pour moi ce fichier était /etc/apache2/apache2.conf où j'ai trouvé cette entrée de configuration - rahmanisback
Oui, les deux modifications ont résolu le problème. - Adelin
Ça ne marche pas pour moi. J'ai posté une question ici askubuntu.com/questions/809619/failing-to-rewrite-url - Suhail Gupta


J'ose ajouter une réponse spéciale (pour faire suite à la réponse ci-dessus) concernant Ubuntu 14.04 et .htaccess :

Dans 14.04, le nom du fichier de configuration par défaut est changé en 000-default.conf :

sudo gedit /etc/apache2/sites-available/000-default.conf

Ajoutez les éléments suivants à la fin du fichier:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Pour une raison quelconque, dans Ubuntu 14.04 et apache2, la racine est définie sur /www/html. Si vous voulez changer la racine du serveur Web en bonne vieille /www, open 000-default.conf et changer

DocumentRoot /var/www/html/

à

DocumentRoot /var/www/

et puis bien sûr, il devrait être

<Directory "/var/www">
    AllowOverride All
</Directory>

49
2017-10-17 13:00



C'est un détail important +1 - Koba
Merci pour info! Ce / cette nouvelle façon nous pouvons utiliser www comme dossier où nous mettons tous les sites Web, et HTML est par défaut "site Web" pour localhost. Peut être important si vous jouez avec l'ouverture des ports au monde - de cette façon, votre localhost ne peut pas voir les dossiers des autres projets. - Vladimir Vukanac
Ça ne marche pas pour moi. j'utilise Ubuntu 14.04.4 LTS - Suhail Gupta