无法解决重写规则

时间:2012-09-06 09:35:26

标签: apache mod-rewrite

我正在尝试设置一个重写规则:

  • 将/ path和文件之外的任何内容重定向到另一个站点
  • 然后如果path是/ path / *,则将url重写为index.php

这是我的规则:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/path.*
    RewriteRule !\.(js|gif|css|jpg|png|jpeg) http://www.domain.com [R,L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA]
</IfModule>

由于某种原因,它不起作用。

1 个答案:

答案 0 :(得分:0)

除了确保您已启用mod_rewrite之外,您还需要更改第一个条件以检查index.php,因为在第二个规则之后,流程会循环并最终被重定向到domain.com :

变化:

RewriteCond %{REQUEST_URI} !^/path.*

为:

RewriteCond %{REQUEST_URI} !^/(path|index.php)