【问题标题】:Apply mod_rewrite in virtual host在虚拟主机中应用 mod_rewrite
【发布时间】:2011-03-23 04:49:54
【问题描述】:

我想在虚拟主机中重写 url。

虚拟目录:

htdoc/dev/ , dev.com

htdoc/dev 中 .htaccess 中的语法:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule test.html$ test.php [L]
</IfModule>

我能够在本地主机中将 test.html 重写为 test.php。但是,无法在虚拟主机中执行此操作。这里出了什么问题?

【问题讨论】:

    标签: apache url mod-rewrite url-rewriting virtualhost


    【解决方案1】:

    请检查您是否将 AllowOverride 选项设置为 All

    <VirtualHost...>
        ...
        AllowOverride All
        ...
    </VirtualHost>
    

    【讨论】:

    • 感谢您的回复。我已经尝试过了,但是当我重新启动 apache 时,它​​显示它有语法错误,并且说 allowoverride 不允许在这里。我可以知道发生了什么吗?谢谢。
    • @davidlee 你能分享一下你是如何解决这个问题的吗?我遇到了同样的问题。谢谢
    【解决方案2】:

    需要在httpd.conf的目录部分完成...

    <Directory "/var/www/html">
        AllowOverride All
    </Directory>
    

    ...如果使用虚拟主机,您需要添加虚拟主机目录...

    <Directory "/var/www/html/virtual_host_directory">
        AllowOverride All
    </Directory>
    

    【讨论】:

      猜你喜欢
      • 2015-11-29
      • 2010-09-05
      • 2020-09-01
      • 2010-10-22
      • 2011-05-15
      • 2010-11-02
      • 1970-01-01
      • 2019-01-21
      • 2012-12-09
      相关资源
      最近更新 更多