1

我有这个完美的规则

RewriteRule上的 RewriteEngine
^([^/]+)/([^/]+) /demo/index.php? 类别=$1&子类别=$2

这将我的链接从

/demo/index.php? 类别=ABC&子类别=XYZ

/demo/ABC/XYZ

但有时我只想输入这样的类别名称

/演示/ABC/

但不幸的是,这给出了错误Page not found。是什么导致了这个错误,我该如何解决?

也有人可以提供指向 RewriteEngine 资源/书籍/教程的链接。我找不到任何可以帮助像我这样的初学者的东西。谢谢你。

4

2 回答 2

1

将您的规则更改为:

RewriteRule ^([^/]+)/([^/]*) /demo/index.php?category=$1&subcategory=$2 [L,QSA]

这使得第二个参数是可选的(使用*而不是+in [^/]*

于 2013-04-30T18:49:57.213 回答
0

除非/demo/ABC/是本地文件系统上存在的目录,否则它将无法找到该页面。您的第一条规则只是将该参数填充链接重写到该伪路径中,它不会建立虚拟目录或创建可靠的重定向。

最好的信息RewriteRule可能会出现在实际的Apache 文档中。

于 2013-04-30T18:44:40.383 回答