webentwicklung-frage-antwort-db.com.de

Installieren und konfigurieren Sie mod_rewrite für Apache 2 unter Mac OS X für Zend Framework 2

Ich fange mit zend framework 2 an und sie haben eine voraussetzung einer Installation und Konfiguration von mod_rewrite für Apache. Apache 2.2.22 wurde unter Mac OS X 10.8.2 vorinstalliert. Gibt es eine einfache Möglichkeit, mod_rewrite für Apache zu installieren und zu konfigurieren?

Die einzige Hilfe, die ich gefunden habe, schlägt vor, Apache neu zu kompilieren. Ist das der einzige Weg?

31
brad.roush

Um zu überprüfen, ob mod_rewrite und PHP aktiviert sind, schauen Sie in /etc/Apache2/httpd.conf und stellen Sie sicher, dass diese Zeilen:

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

sind unkommentiert.

Stellen Sie außerdem sicher, dass AllowOverride im Abschnitt <Directory "/Library/WebServer/Documents"> auf All gesetzt ist.

Nachdem Sie diese Änderungen vorgenommen haben, starten Sie Apache erneut mit: Sudo apachectl restart

Wenn Sie Ihr Projekt dann im Ordner /Library/WebServer/Documents ablegen, sollte es funktionieren.

131
Rob Allen

Wenn Sie Ihre Website von ~/Sites aus bereitstellen, bestand der Trick für mich darin, meine /private/etc/Apache2/users/USERNAME.conf-Datei zu ändern. Anfangs war der Inhalt:

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

Wenn Sie AllowOverride in all ändern und dann den Server mit einem schnellen Sudo apachectl restart neu starten, kann ich mod_rewrite in .htaccess-Dateien unter ~/Sites verwenden.

12
sffc

Neben der Antwort von Rob Allen befinden sich beide Zeilennummern um 168 und 169 (um Zeit zu sparen, wenn Sie die mehr als 500 Textzeilen scrollen). Um zu erklären, was jede Zeile genau macht:

LoadModule rewrite_module libexec/Apache2/mod_rewrite.so

Dadurch werden die Standardeinstellungen für alle .htaccess-Dateien überschrieben, die im Dokumentstammverzeichnis verwendet werden

LoadModule php5_module        libexec/Apache2/libphp5.so

Dies ermöglicht das Umschreiben von URLs für Permalinks

Quelle: link

3
SM23

Fügen Sie dies der Datei http-vhosts.conf hinzu

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

Vergessen Sie nicht, Ihren Apache mit diesem Befehl neu zu laden

Sudo apachectl restart

Viel Glück

1
gounane

yosemite os x sollte so aussehen:

<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>

aus diesem Blogbeitrag

1
1nstinct

Ich weiß, dass dies ein alter Thread ist, aber dies könnte auch das Problem aufwerfen:

Stellen Sie sicher, dass DocumentRoot und Directory wie folgt mit dem Ordner same in /etc/Apache2/extra/httpd-vhosts.conf verbunden sind:

 enter image description here

Dies ist ein unschuldiger Fehler, wenn Sie den virtuellen Hostblock von vorhandenen Sites kopieren.

Prost! 

0
Maroun Melhem

Meine Wahl 

<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