.htaccess url将多个目录重写为GET参数

时间:2014-10-04 23:03:22

标签: .htaccess mod-rewrite url-rewriting

好的,我有一个网站,我想写重写规则。我没有多少重写经验。

我的.htaccess位于/ foo /,而不是root。这就是我想要的东西

Case 1: example.com/foo/bar/ --> example.com/foo/includes/page.php?school=bar&id=

Case 2: example.com/foo/bar/1 --> example.com/foo/includes/page.php?school=bar&id=1

这就是我所拥有的

RewriteEngine on

RewriteRule    ^(bar|baz)/(.*)$    ./includes/pages.php?school=$1&id=$2    [NC,L]

学校barbaz只有两个可能的值。 id可以包含任意数量的值。 上面的代码在案例2中起作用,但在案例1中不起作用。它似乎在外部将案例1重定向到不同的URL,具体取决于是否有尾部斜杠。不知道为什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以将此代码放入htaccess(在foo文件夹中)

RewriteEngine On
RewriteBase /foo/

RewriteRule ^(bar|baz)/([0-9]*)$ includes/page.php?school=$1&id=$2 [NC,L]