macos - high - Instalar y configurar mod_rewrite para Apache 2 en Mac OS X para Zend Framework 2
install php mac os high sierra (8)
Estoy comenzando con zend framework 2 y tienen un prerequisite de instalación y configuración de mod_rewrite para apache. Apache 2.2.22 viene preinstalado en Mac OS X 10.8.2. ¿Hay una manera fácil de instalar y configurar mod_rewrite para apache?
La única ayuda que he encontrado sugiere recompilar Apache. ¿Es esta la única manera?
Además de la respuesta de Rob Allen, ambos números de línea se encuentran alrededor de 168 y 169 (para ahorrar algo de tiempo al desplazar las más de 500 líneas de texto). Además, para explicar lo que hace cada línea exactamente:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Esto anula la configuración predeterminada para cualquier archivo .htaccess utilizado en la raíz del documento
LoadModule php5_module libexec/apache2/libphp5.so
Esto permite la reescritura de URL para enlaces permanentes
Fuente: link
Agregue esto al archivo http-vhosts.conf
<Directory "/Library/WebServer/Documents">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
No te olvides de volver a cargar tu apache usando esta comandancia
sudo apachectl restart
Buena suerte
La respuesta de Rob Allen parece correcta, pero nunca utilicé la instalación predeterminada de Apache en mi Mac, así que no puedo verificar. Recomendaría MAMP o Zend Server CE .
Me llevó algo de tiempo configurar Zend Server CE configurado y ejecutándolo correctamente en mi Mac, pero esa era la versión 4 y no funcionaba, y de todos modos valió la pena. Por el contrario, la versión 5.6 de ZSCE parece ser mucho mejor.
Algunas notas sobre Zend Server CE para Mac OS X
Si va con MAMP, debe ser una instalación muy rápida, además de configurar hosts virtuales .
Tenga en cuenta que ambos vienen con mod_rewrite ya instalado.
Mi elección
<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>
Para comprobar que mod_rewrite y PHP están habilitados, mira /etc/apache2/httpd.conf y asegúrate de que estas líneas:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so
están sin comentarios
Asegúrese también de que AllowOverride
esté configurado en All
en la sección <Directory "/Library/WebServer/Documents">
.
Después de realizar estos cambios, reinicie Apache con: sudo apachectl restart
Si luego coloca su proyecto dentro de la carpeta /Library/WebServer/Documents
, entonces debería funcionar.
Sé que este es un hilo viejo, pero esto también podría plantear este problema:
Asegúrese de que DocumentRoot
and Directory
enlace a la misma carpeta en /etc/apache2/extra/httpd-vhosts.conf
siguiente manera:
Este es un error inocente si copia el bloque de host virtual de sitios existentes.
¡Aclamaciones!
Si está atendiendo su sitio desde ~/Sites
, el truco para mí fue modificar mi /private/etc/apache2/users/USERNAME.conf
archivo. Inicialmente, el contenido era:
<Directory "/Users/USERNAME/Sites/">
Options Indexes MultiViews FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Cambiar AllowOverride
a all
y luego reiniciar el servidor con un sudo apachectl restart
rápido me permitió comenzar a usar mod_rewrite en archivos .htaccess
que viven debajo de ~/Sites
.
yosemite os x debería ser así:
<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>
obtenido de esta publicación de blog