36

我开始使用 zend 框架 2,他们有安装和配置 apache 的 mod_rewrite的先决条件。Apache 2.2.22 预装在 Mac OS X 10.8.2 上。有没有一种简单的方法来为 apache 安装和配置 mod_rewrite?

我遇到的唯一帮助建议重新编译 apache。这是唯一的方法吗?

4

8 回答 8

152

要检查 mod_rewrite 和 PHP 是否已启用,请查看/etc/apache2/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文件夹中,那么它应该可以工作。

于 2012-09-27T06:19:39.773 回答
13

如果您从 为您的网站提供服务~/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>

更改AllowOverrideall然后快速重新启动服务器sudo apachectl restart使我能够开始使用 mod_rewrite 在.htaccess下面的文件中~/Sites

于 2013-07-20T16:03:16.353 回答
3

除了 Rob Allen 的响应之外,两个行号都位于 168 和 169 附近(以节省您滚动 500 多行文本的时间)。另外,要解释每一行的确切作用:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

这会覆盖文档根目录中使用的任何 .htaccess 文件的默认设置

LoadModule php5_module        libexec/apache2/libphp5.so

这允许永久链接的 URL 重写

来源:链接

于 2015-08-22T03:55:07.357 回答
1

将此添加到 http-vhosts.conf 文件

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

不要忘记使用这个命令重新加载你的 apache

sudo apachectl restart

祝你好运

于 2014-08-06T08:36:55.247 回答
1

优胜美地 os x 应该是这样的:

<VirtualHost *:80>
    ServerAdmin enzo@enzolutions.com
    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>

这篇博文中得到

于 2014-11-15T12:44:30.433 回答
0

我的选择

<VirtualHost *:80>
    <Directory />
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
    ServerAdmin user@domain.ru
    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>
于 2014-09-08T18:22:42.197 回答
0

我知道这是一个旧线程,但这也可能引发这个问题:

确保DocumentRootDirectory链接到同一文件夹,/etc/apache2/extra/httpd-vhosts.conf如下所示:

在此处输入图像描述

如果您从现有站点复制虚拟主机块,这是一个无辜的错误。

干杯!

于 2018-04-27T06:25:43.993 回答
-1

Rob Allen 的回答听起来不错,但我从未在我的 Mac 上使用过默认安装的 Apache,所以我无法验证。我会推荐MAMPZend Server CE

我花了一点时间来配置 Zend Server CE 并在我的 Mac 上正确运行,但那是第 4 版,它有问题,无论哪种方式都值得。相反,ZSCE 的 5.6 版本似乎要好得多!

Zend Server CE for Mac OS X 的一些注意事项

如果您使用 MAMP,除了配置虚拟主机之外,它应该是一个非常快速的安装。

请注意,这两个都已经安装了mod_rewrite 。

于 2012-10-12T01:45:21.350 回答