【问题标题】:mod_rewrite conflicts with Alias directivemod_rewrite 与 Alias 指令冲突
【发布时间】:2011-04-06 15:38:52
【问题描述】:

我的主要网站使用 PHP/Zend 框架,.htaccess 是常用的:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

现在我需要将一个论坛(在另一个目录中)带到主站点。我在 VirtualHost 中添加了 Alias 指令

Alias /forums "h:/projects/forums"

论坛软件使用自己的.htaccess。主 URL /forums 是可访问的,但不是其他的。其他 URL(那些没有相应文件的 URL)被转发到主站点。换句话说,主站点(/)的.htaccess文件被选中,而不是/forums目录下的那个。

【问题讨论】:

    标签: php mod-rewrite mod-alias


    【解决方案1】:

    尝试添加一个新的RewriteCond 来告诉您的主.htaccess 文件忽略/forums 下的请求。在请求通过该文件后,它应该被/forums/.htaccess 文件接收,但我承认我不确定Alias 是否会影响这一点。

    条件如下所示:

    RewriteCond %{REQUEST_URI} !^/forums [NC]
    

    这表示“如果请求不以 /forums 开头,则仅执行下一个 RewriteRule”。最后的[NC] 表示忽略/forums 上的大小写,因此请求实际上是针对/Forums 还是/FORUMS 并不重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多