我开始使用 zend 框架 2,他们有安装和配置 apache 的 mod_rewrite的先决条件。Apache 2.2.22 预装在 Mac OS X 10.8.2 上。有没有一种简单的方法来为 apache 安装和配置 mod_rewrite?
我遇到的唯一帮助建议重新编译 apache。这是唯一的方法吗?
我开始使用 zend 框架 2,他们有安装和配置 apache 的 mod_rewrite的先决条件。Apache 2.2.22 预装在 Mac OS X 10.8.2 上。有没有一种简单的方法来为 apache 安装和配置 mod_rewrite?
我遇到的唯一帮助建议重新编译 apache。这是唯一的方法吗?
要检查 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
文件夹中,那么它应该可以工作。
如果您从 为您的网站提供服务~/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
。
除了 Rob Allen 的响应之外,两个行号都位于 168 和 169 附近(以节省您滚动 500 多行文本的时间)。另外,要解释每一行的确切作用:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
这会覆盖文档根目录中使用的任何 .htaccess 文件的默认设置
LoadModule php5_module libexec/apache2/libphp5.so
这允许永久链接的 URL 重写
来源:链接
将此添加到 http-vhosts.conf 文件
<Directory "/Library/WebServer/Documents">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
不要忘记使用这个命令重新加载你的 apache
sudo apachectl restart
祝你好运
优胜美地 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>
我的选择
<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>
Rob Allen 的回答听起来不错,但我从未在我的 Mac 上使用过默认安装的 Apache,所以我无法验证。我会推荐MAMP或Zend Server CE。
我花了一点时间来配置 Zend Server CE 并在我的 Mac 上正确运行,但那是第 4 版,它有问题,无论哪种方式都值得。相反,ZSCE 的 5.6 版本似乎要好得多!
Zend Server CE for Mac OS X 的一些注意事项
如果您使用 MAMP,除了配置虚拟主机之外,它应该是一个非常快速的安装。
请注意,这两个都已经安装了mod_rewrite 。