重写规则定义不工作

问题描述:

如果我有没有任何其他重写规则定义重写规则定义不工作

RewriteRule ^de/(var)/(.+) /$1/$2 [NC,L] 

然后一切工作正常

但以下重写规则时,我有以下重写规则以及.htaccess文件中

RewriteRule .* index.php [L] 

然后第一个RewriteRule不起作用。

+0

你对每个规则的意图是什么? – 2012-02-01 17:36:10

我相信这是你应该如何既保持规则:

RewriteRule ^de/(var)/(.+)$ /$1/$2 [NC,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^/de/var/ [NC] 
RewriteRule^index.php [L] 

这下面的解决方案应该能够立即解决的问题。

如果您提供有关规则意图的详细信息,则可以提供更好的解决方案。

RewriteEngine On 
RewriteBase/

RewriteRule ^de/(var)/(.+) /$1/$2 [NC,L] 

#prevent internal redirects 
RewriteCond %{ENV:REDIRECT_STATUS} !200 
RewriteRule .* index.php [L]