web-dev-qa-db-fra.com

Installer et configurer mod_rewrite pour Apache 2 sur Mac OS X pour Zend Framework 2

Je commence à utiliser zend framework 2 et ils ont un prerequisite d’une installation et configuration de mod_rewrite pour Apache. Apache 2.2.22 est venu pré-installé sur Mac OS X 10.8.2. Existe-t-il un moyen simple d’installer et de configurer mod_rewrite pour apache?

La seule aide que j'ai trouvée suggère de recompiler Apache. Est-ce le seul moyen?

31
brad.roush

Pour vérifier que mod_rewrite et PHP sont activés, regardez /etc/Apache2/httpd.conf et assurez-vous que ces lignes:

LoadModule rewrite_module libexec/Apache2/mod_rewrite.so
LoadModule php5_module        libexec/Apache2/libphp5.so

sont non commentés.

Assurez-vous également que AllowOverride est défini sur All dans la section <Directory "/Library/WebServer/Documents">.

Après avoir apporté ces modifications, redémarrez Apache avec: Sudo apachectl restart

Si vous placez ensuite votre projet dans le dossier /Library/WebServer/Documents, il devrait alors fonctionner.

131
Rob Allen

Si vous servez votre site à partir de ~/Sites, le truc pour moi était de modifier mon fichier /private/etc/Apache2/users/USERNAME.conf. Au début, le contenu était:

<Directory "/Users/USERNAME/Sites/">
    Options Indexes MultiViews FollowSymLinks ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Changer AllowOverride en all puis redémarrer le serveur avec un Sudo apachectl restart rapide m'a permis de commencer à utiliser mod_rewrite dans des fichiers .htaccess situés sous ~/Sites.

12
sffc

En plus de la réponse de Rob Allen, les deux numéros de ligne sont situés autour de 168 et 169 (pour vous éviter un peu de temps de défilement des 500 lignes de texte). Aussi, pour expliquer ce que chaque ligne fait exactement:

LoadModule rewrite_module libexec/Apache2/mod_rewrite.so

Cela remplace les paramètres par défaut pour tous les fichiers .htaccess utilisés à la racine du document.

LoadModule php5_module        libexec/Apache2/libphp5.so

Cela permet de réécrire les URL pour les permaliens

Source: lien

3
SM23

Ajoutez ceci au fichier http-vhosts.conf

<Directory "/Library/WebServer/Documents">
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

N'oubliez pas de recharger votre Apache en utilisant cette commande

Sudo apachectl restart

Bonne chance

1
gounane

yosemite os x devrait être comme ça:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/Users/enzo/www/drupal8"

    ServerName drupal8

    #ServerAlias www.dummy-Host.example.com
    <Directory /Users/enzo/www/drupal8>
        Require all granted
        Options Includes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog "/private/var/log/Apache2/drupal8-error.log"
    CustomLog "/private/var/log/Apache2/drupal8-access.log" common
</VirtualHost>

obtenu de cet article de blog

1
1nstinct

Je sais que c'est un vieux fil, mais cela pourrait aussi soulever ce problème:

Assurez-vous que DocumentRoot et Directory sont liés au dossier same dans /etc/Apache2/extra/httpd-vhosts.conf comme suit:

 enter image description here

Il s'agit d'une erreur innocente si vous copiez le bloc d'hôte virtuel à partir de sites existants.

À votre santé! 

0
Maroun Melhem

Mon choisi 

<VirtualHost *:80>
    <Directory />
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
    ServerAdmin [email protected]
    DocumentRoot "/Users/r00we/sites/buytocoins.ru"
    ServerName site.ru
    ServerAlias www.site.ru
    ErrorLog "/private/var/log/Apache2/myfaketestsite.com-error_log"
    CustomLog "/private/var/log/Apache2/myfaketestsite.com-access_log" common
</VirtualHost>
0
R00We