【问题标题】:Install and configure mod_rewrite for Apache 2 on Mac OS X for Zend Framework 2在 Mac OS X 上为 Zend Framework 2 安装和配置 Apache 2 的 mod_rewrite
【发布时间】:2012-09-25 22:47:56
【问题描述】:

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

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

【问题讨论】:

  • 这对您不起作用吗? serverfault.com/questions/113853/…(第一个答案,Keith Norman)
  • 本题非编程题,属于ServerFault问题。
  • @DanielM 我同意这不是一个编程问题,但它不属于 ServerFault。事实上,像这样的问题现在很难说在哪里。任何时候我在这样的 ServerFault 上提出问题时,它要么被忽略,要么被关闭……或者 both。也许它属于“Ask Different”?谁知道..

标签: macos apache zend-framework2


【解决方案1】:

要检查 mod_rewrite 和 PHP 是否已启用,请查看 /etc/apache2/httpd.conf 并确保这些行:

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

没有注释。

还要确保AllowOverride<Directory "/Library/WebServer/Documents"> 部分中设置为All

进行这些更改后,重新启动 Apache:sudo apachectl restart

如果您随后将项目放在/Library/WebServer/Documents 文件夹中,那么它应该可以工作。

【讨论】:

  • 在取消注释 php5_module 并按照建议添加 AllowOverride All 后为我工作。 Tnx 很多 :)
  • 编辑httpd.conf后别忘了sudo apachectl restart
  • 这对我有用,我在安装干净的 drush drupal 7 后看到奇怪的 404 错误,这修复了它
  • 并在 Options [Indexes] FollowSymLinks Multiviews 中添加Indexes
  • 只需取消注释 rewrite_module、添加 AllowOverride All 并重新启动 apache 即可为我工作。
【解决方案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 重新启动服务器使我能够开始在.htaccess 位于~/Sites 下的文件中使用mod_rewrite。

【讨论】:

  • 更改此设置后,我得到 403 禁止,错误是:Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /Users/xliang/Sites/flight/event 任何想法?顺便说一句,我正在从 ~/Sites 运行我的网站
【解决方案3】:

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

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

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

LoadModule php5_module        libexec/apache2/libphp5.so

这允许永久链接的 URL 重写

来源:link

【讨论】:

    【解决方案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 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>
      

      来自this blog post

      【讨论】:

        【解决方案6】:

        我的选择

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

        【讨论】:

          【解决方案7】:

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

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

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

          干杯!

          【讨论】:

            【解决方案8】:

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

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

            Some notes on Zend Server CE for Mac OS X

            如果您使用 MAMP,除了configuring virtual hosts 之外,它应该是一个非常快速的安装。

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

            【讨论】:

            • 我对 zend server ce 和 mac os x lion 不太满意
            • @b_dubb 很遗憾听到这个消息。你遇到过什么样的问题?
            • 找不到控制器/操作 uri 的问题。我已经设置了我的虚拟主机和 htaccess。我使用 zf.sh 工具添加了一个管理控制器,并在我转到我的项目 uri 时收到 zf 错误消息。 zf 认为我的 /~username ... 是一个控制器。吹嘘
            • 嗯嗯,我仍然使用雪豹,所以我不确定,但无论哪种方式,我都没有使用过 zf 工具的东西,我总是手动操作。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-01-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-18
            • 2011-03-14
            • 1970-01-01
            相关资源
            最近更新 更多