题 在Mac OS X上为Zend Framework 2安装和配置Apache 2的mod_rewrite


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

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


29
2017-09-25 22:47


起源


这不适合你吗? serverfault.com/questions/113853/... (第一个答案,基思诺曼) - Joe T
这没用 - brad.roush
这个问题不是编程问题,属于ServerFault。 - Daniel M
@DanielM我同意这不是一个编程问题,但它不属于ServerFault。事实上,很难说 哪里 这样的问题现在属于。每当我在ServerFault上提出这样的问题时,它会被忽略或关闭......或者 都。也许它属于“Ask Different?”谁知道.. - Yes Barry


答案:


要检查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 文件夹,然后它应该工作。


127
2017-09-27 06:19



取消注释php5_module并按建议添加AllowOverride All后为我工作。 Tnx很多:) - mindore
在Yosemite默认情况下没有启用... - Potherca
别忘了 sudo apachectl restart 编辑完httpd.conf后 - Otto
这对我有用,在干净的drush drupal 7安装后我看到了奇怪的404错误并修复了它 - crobicha
并添加 Indexes 在选项中[索引] FollowSymLinks多视图 - Robin Gomez


如果您正在为您的网站服务 ~/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


12
2017-07-20 16:03



更改此设置后,我将禁止403,错误是: Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /Users/xliang/Sites/flight/event 有任何想法吗?顺便说一下,我在〜/ Sites运行我的网站 - Xiao
这就是答案: stackoverflow.com/a/2487738/672354 - Xiao


除了Rob Allen的回复之外,这两个行号都位于168和169左右(为滚动500多行文本节省了一些时间)。另外,要解释每一行的确切含义:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

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

LoadModule php5_module        libexec/apache2/libphp5.so

这允许永久链接的URL重写

资源: 链接


3
2017-08-22 03:55





将其添加到http-vhosts.conf文件中

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

不要忘记使用此命令重新加载您的Apache

sudo apachectl restart

祝你好运


1
2017-08-06 08:36





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>

得到了 这篇博文


1
2017-11-15 12:44





我选择了

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

0
2017-09-08 18:22





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

确保 DocumentRoot 和 Directory 链接到 相同 文件夹 /etc/apache2/extra/httpd-vhosts.conf 如下:

enter image description here

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

干杯!


0
2018-04-27 06:25





罗布艾伦的回答 声音 是的,但我从来没有在我的Mac上使用Apache的默认安装,所以我无法验证。我会推荐 MAMP 要么 Zend Server CE

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

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

如果你选择MAMP,它应该是一个非常快速的安装,除了 配置虚拟主机

请注意,这两个都附带 mod_rewrite的 已安装。


-1
2017-10-12 01:45



我没有'与运行服务器ce和mac os x lion运气好 - b_dubb
@b_dubb很抱歉听到这个消息。你遇到了什么样的问题? - Yes Barry
控制器/动作uri的问题没有找到。我已经设置了我的vhost和htaccess。我添加一个带有zf.sh工具的管理控制器,当我去我的项目uri时得到zf错误信息。 zf认为我的/ ~username ...是一个控制器。 blarg - b_dubb
嗯,我仍然使用雪豹,所以我不确定,但无论哪种方式我从来没有使用过zf工具的东西,我总是手动做。 - Yes Barry