【问题标题】:Apache RewriteEngine is not working with virtual host setupApache RewriteEngine 不适用于虚拟主机设置
【发布时间】:2013-01-27 04:05:15
【问题描述】:

我在我的机器上启用了基本的虚拟主机设置,当我输入服务器名称时它工作正常。但是,当我包含“RewriteEngine On”时,它会杀死它。是的,我确实安装了重写模块,是的,我已经重新启动了 apache。我实际上还没有尝试任何重写规则,因为仅仅打开这个东西就足以让它停止工作。关于发生了什么的任何线索?似乎如果包含模块,这应该可以工作。我忘记了什么?这是我的虚拟主机文件中的内容

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "C:/www/mysite/public/"
    ServerName mysite

    RewriteEngine on
    <Directory "C:/www/mysite/public/"
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Allow from all
    </Directory>
</VirtualHost>

当我删除“RewriteEngine on”行时,一切正常。当我把它放回去时,它会破裂。如果我有一些奇怪的规则,我可以理解,但只是打开它不应该破坏任何东西。

【问题讨论】:

  • “杀死它”是什么意思? apache 错误日志是怎么说的?

标签: mod-rewrite apache


【解决方案1】:

也许你的设置中没有启用 mod_rewrite?您可以尝试将 RewriteEngine On 放在这样的测试中

<IfModule mod_rewrite.c>
    RewriteEngine On
</IfModule>

【讨论】:

    【解决方案2】:

    我假设你是一个类似 Ubuntu 的系统。

    转到 /etc/apache2/sites-available/your_site.conf

    使用您喜欢的文本编辑器打开 your_site.conf。

    如下添加/更新目录部分

    <Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    

    保存并重新启动 apache。

    【讨论】:

      猜你喜欢
      • 2015-05-27
      • 2014-12-04
      • 2014-02-17
      • 1970-01-01
      • 2017-05-30
      • 2013-07-31
      • 2012-04-22
      • 1970-01-01
      • 2014-12-04
      相关资源
      最近更新 更多