如何为虚拟主机启用mod_rewrite

mod_rewrite规则不适用于虚拟主机。 我想要这个用于cakephp。

是否有要在虚拟主机文件中添加的设置?

如果您使用的是最新的apache版本2.4+,那么这里是如何启用mod_rewrite的过程。

转到etc/apache2/
使用您喜欢的文本编辑器打开apache2.conf
更改

  Options Indexes FollowSymLinks AllowOverride None Require all granted  

  Options Indexes FollowSymLinks AllowOverride All Require all granted  

然后保存它。 请记住,您应具有root权限才能编辑和保存此文件。
现在重启apache。

 service apache2 reload 

此过程将为包含虚拟主机的apache服务器启用mod_rewrite。

您还可以检查它是否已启用。 创建一个PHP脚本

  

从服务器加载它。 在Loaded Modules部分下,检查mod_rewrite是否存在。 如果它在那里则启用它。

使用启用重写

 # sudo a2enmod rewrite 

然后使用重新启动apcahe2

 # service apache2 restart 

通过添加在Virtualhost中启用

 AllowOverride FileInfo 

然后使用重新启动apcahe2

 # service apache2 restart 

例子

  Options Indexes FollowSymLinks MultiViews # I Have below line from none to FileInfo AllowOverride FileInfo Order allow,deny allow from all