htaccess:第一个rewriterule工作,第二个不

时间:2014-05-26 18:39:58

标签: .htaccess mod-rewrite

这是我的代码:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?rwp=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?act=$1

问题:仅首先使用RewriteRule。第二个RewriteRule不起作用。如果我首先写了RewriteRule ^(。)$ index.php?act = $ 1,那么它可以工作,但是RewriteRule ^(。)$ index.php?rwp = $ 1不会。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果文件或文档不存在,您的第一条规则就是告诉它重定向到index.php?rwp=,而第二条规则是相同但是将其重定向到index.php?act=您的第一条规则将总是抓住它,所以你的第二条规则永远不会运行。你需要做的就是在index.php文件中这样做:

在index.php文件中,您将使用rwp参数中的变量来决定要显示的内容。在那里有一个后备选项来显示将从act参数显示的信息(使用else语句或使用act参数上的变量刷新页面)。