Mod rewrite 重写cond don';我不懂如何申请!

Mod rewrite 重写cond don';我不懂如何申请!,mod-rewrite,Mod Rewrite,我有这个 RewriteRule ^articles/([0-9]+)-(.*)\.html$ article.php?id=$1 [L] RewriteRule .* index.php 由于.htaccess中的[L]问题,我仍然不理解如何应用RewriteCond。救命啊!提前感谢:)关于serverfault有一个很好的参考问题,它解释了规则和条件是如何相互作用的: 当前关于Meta的讨论建议链接。关于serverfault有一个很好的参考问题,它解释了规则和条件是如何相互作用的:

我有这个

RewriteRule ^articles/([0-9]+)-(.*)\.html$ article.php?id=$1 [L]
RewriteRule .* index.php

由于.htaccess中的[L]问题,我仍然不理解如何应用RewriteCond。救命啊!提前感谢:)

关于serverfault有一个很好的参考问题,它解释了规则和条件是如何相互作用的:


当前关于Meta的讨论建议链接。

关于serverfault有一个很好的参考问题,它解释了规则和条件是如何相互作用的:


根据当前关于Meta的讨论的建议进行链接。

我猜您正在寻找这样的链接:

RewriteRule ^articles/([0-9]+)-(.*)\.html$ article.php?id=$1 [L]
RewriteCond $0 !=article.php
RewriteRule .* index.php
另一个解决方案是使用第二个重写规则的模式排除
article.php

RewriteRule !^article\.php$ index.php
但请注意,这将重写任何其他请求(包括其他现有文件)。要克服这一点,您可以对第二条规则使用不同的条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

我猜你在找这样的东西:

RewriteRule ^articles/([0-9]+)-(.*)\.html$ article.php?id=$1 [L]
RewriteCond $0 !=article.php
RewriteRule .* index.php
另一个解决方案是使用第二个重写规则的模式排除
article.php

RewriteRule !^article\.php$ index.php
但请注意,这将重写任何其他请求(包括其他现有文件)。要克服这一点,您可以对第二条规则使用不同的条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php