1

我有一个结构如下的网站:

  • 文件夹 1
  • 文件夹 2
  • 文件夹 3

对于我的根,我有一个重写,发送root.com/index.php?id=12root.com/12并且工作正常。

但是,我也想root.com/folder1/index.php?id=12成为root.com/folder1/12,但根本没有成功。

以下是我的 htaccess 代码:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?id=$1
RewriteRule ^folder1/([a-zA-Z0-9_-]+)$ /folder1/index.php?id=$1
RewriteRule ^folder1/([a-zA-Z0-9_-]+)/$ /folder1/index.php?id=$1

您能否让我知道我在使用 folder1 rewriterule 时做错了什么?非常感谢。

另外,我怎样才能对第一条规则进行例外处理,以便root.com/folder1不应用于第一条重写规则?

4

1 回答 1

1

另外,如何对第一条规则进行例外处理,以便 root.com/folder1 不会应用于第一条重写规则?

您可以在 mod_rewrite 命令的末尾添加 [L],这意味着该指令是最后一条。因此,如果它匹配,则没有进一步的说明将起作用。

因此,使用它您可以先编写更具体的指令,然后再编写更通用的指令。

于 2012-05-06T03:31:20.633 回答