2012-09-25 16 views
27

Estoy comenzando con zend framework 2 y tienen un prerequisite de una 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?Instalar y configurar mod_rewrite para Apache 2 en Mac OS X para Zend Framework 2

La única ayuda que he encontrado sugiere recompilar apache. ¿Es esta la única manera?

+0

¿Esto no funciona para usted? http://serverfault.com/questions/113853/getting-mod-rewrite-working-on-os-x-snow-leopard (primera respuesta, Keith Norman) –

+0

Esto no funcionó –

+1

Esta pregunta no es una pregunta de programación y pertenece a ServerFault. –

Respuesta

111

para comprobar que mod_rewrite y PHP están activados, mira /etc/apache2/httpd.conf y asegurarse de que estas líneas:

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

no están comentadas.

También asegúrese de que AllowOverride esté configurado en All dentro de la sección <Directory "/Library/WebServer/Documents">.

Después de hacer estos cambios, reinicie Apache con: sudo apachectl restart

Si a continuación, poner su proyecto dentro de la carpeta /Library/WebServer/Documents, entonces debería funcionar.

+3

Funcionó para mí después de descomentar php5_module y agregar AllowOverride All según lo sugerido. Tnx mucho :) – mindore

+5

No está habilitado por defecto en Yosemite parece ... – Potherca

+2

No te olvides de sudo apachectl reiniciar' después de editar httpd.conf – Otto

-1

La respuesta de Rob Allen suena bien, pero nunca he usado la instalación predeterminada de Apache en mi Mac, así que no puedo verificarlo. Yo recomendaría MAMP o Zend Server CE.

Me tomó algo de tiempo configurar Zend Server CE configurado y ejecutándolo correctamente en mi Mac, pero esa era la versión 4 y tenía errores y de cualquier manera valió la pena. Por el contrario, la versión 5.6 de ZSCE parece ser mucho mejor.

Some notes on Zend Server CE for Mac OS X

Si vas con MAMP, debe ser una muy rápida instalación, aparte de configuring virtual hosts.

Tenga en cuenta que ambos vienen con mod_rewrite ya instalados.

+0

no he tenido mucha suerte con zend server ce y mac os x lion –

+0

@b_dubb siento oír eso. ¿Qué tipo de problemas has tenido? –

+0

problemas con el controlador/acción que no se encuentra. He configurado mi vhost y htaccess. Agrego un controlador de administración con la herramienta zf.sh y obtengo el mensaje de error zf cuando voy a mi proyecto uri. zf piensa que mi/~ nombre de usuario ... es un controlador. blarg –

11

Si está atendiendo su sitio desde ~/Sites, el truco para mí fue la modificación de mi archivo /private/etc/apache2/users/USERNAME.conf. Inicialmente, el contenido era:

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

Cambio AllowOverride a all y luego reiniciar el servidor con una rápida sudo apachectl restart me permitió comenzar a usar mod_rewrite en .htaccess archivos que viven por debajo de ~/Sites.

+0

Después de cambiar esta configuración, estoy 403 prohibido y el error es: 'Opciones FollowSymLinks o SymLinksIfOwnerMatch está desactivado, lo que implica que la directiva RewriteRule está prohibida:/Users/xliang/Sites/flight/event' ¿Alguna idea? Por cierto estoy ejecutando mi sitio desde ~/Sites – Xiao

+0

Esta es la respuesta: http://stackoverflow.com/a/2487738/672354 – Xiao

1

Agregue esto a http-vhosts.conf

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

No se olvide de volver a cargar el Apache usando este commande

sudo apachectl restart 

Buena suerte

0

Mi eligió

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

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> 

recibido de this blog post

3

Además de la respuesta de Rob Allen, ambos números de línea se encuentran alrededor de 168 y 169 (para ahorrar algún tiempo de desplazamiento de los más de 500 líneas de texto). Además, para explicar lo que hace exactamente cada línea:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so 

Esto anula la configuración predeterminada para todos los archivos .htaccess utilizados en la raíz del documento

LoadModule php5_module  libexec/apache2/libphp5.so 

Esto permite que reescribe URL para enlaces permanentes

Fuente: link

Cuestiones relacionadas