Подтвердить что ты не робот

Установите и настройте mod_rewrite для Apache 2 в Mac OS X для Zend Framework 2

Я начал работу с zend framework 2, и у них есть предварительное условие установки и настройки mod_rewrite для apache. Apache 2.2.22 был предварительно установлен на Mac OS X 10.8.2. Есть ли простой способ установить и настроить mod_rewrite для apache?

Единственная помощь, с которой я столкнулся, предлагает перекомпилировать apache. Это единственный способ?

4b9b3361

Ответ 1

Чтобы проверить, что mod_rewrite и PHP включены, посмотрите /etc/apache 2/httpd.conf и убедитесь, что эти строки:

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

раскоментированы.

Также убедитесь, что AllowOverride установлен в All в разделе <Directory "/Library/WebServer/Documents">.

После внесения этих изменений перезапустите Apache с помощью: sudo apachectl restart

Если вы поместите свой проект в папку /Library/WebServer/Documents, тогда он должен работать.

Ответ 2

Если вы обслуживаете свой сайт с ~/Sites, трюк для меня был изменен моим файлом /private/etc/apache2/users/USERNAME.conf. Первоначально контент был:

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

Изменение AllowOverride на all, а затем перезапуск сервера быстрым sudo apachectl restart позволил мне начать использовать mod_rewrite в файлах .htaccess, живущих под ~/Sites.

Ответ 3

В дополнение к ответу Роба Аллена оба номера строк расположены вокруг 168 и 169 (чтобы сэкономить некоторое время на прокрутке более 500 строк текста). Кроме того, чтобы объяснить, что делает каждая строка точно:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Это переопределяет настройки по умолчанию для любых файлов .htaccess, используемых в корневом каталоге документа

LoadModule php5_module        libexec/apache2/libphp5.so

Это позволяет переписывать URL для постоянных ссылок

Источник: ссылка

Ответ 4

Добавьте это в http-vhosts.conf файл

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

Не забудьте перезагрузить apache с помощью этой команды

sudo apachectl restart

Удачи.

Ответ 5

yosemite os x должен выглядеть следующим образом:

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

получил от этот пост в блоге

Ответ 6

Мой выбор

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

Ответ 7

Ответ Роба Аллена звучит правдоподобно, но я никогда не использовал установку Apache по умолчанию на моем Mac, поэтому я не могу проверить. Я бы рекомендовал MAMP или Zend Server CE.

Мне потребовалось немного времени, чтобы настроить Zend Server CE на ваш Mac, но это была версия 4, и это было ошибкой, и в любом случае это стоило того. И наоборот, версия 5.6 ZSCE выглядит намного лучше!

Некоторые примечания к Zend Server CE для Mac OS X

Если вы перейдете с MAMP, это будет очень быстрая установка, кроме настройка виртуальных хостов.

Обратите внимание, что оба они поставляются с уже установленным mod_rewrite.