带有变量

时间:2015-05-26 07:52:55

标签: php apache .htaccess mod-rewrite

我需要修改我的.htaccess才能执行下一次重定向:

http://www.example.com/en/region1/subregion1/subregion2

http://www.example.com/en/example.php?param1=region1&param2=subregion1&param3=subregion2

问题在于我原来的网址可以有3种不同的结构:

/ REGION1 /

/ REGION1 / subregion1 /

/ REGION1 / subregion1 / subregion2

我想要的是将这些子目录转换为变量,无论它们是3还是仅1。

如何使用mod_rewrite实现此目的?

谢谢

1 个答案:

答案 0 :(得分:1)

以此为基础:

TableA tabA = null;
TableB tabB = null;

var s = Session.QueryOver<TableA>(() => tabA)
                       .JoinAlias(() => tabB.TableBItems, () => tabB, JoinType.InnerJoin)
                       .Where(Restrictions.Conjunction()
                                          .Add(() => tabA.SomeID == 123)
                                          .Add(() => tabA.SomeNullableDate != null)
                             )
                       .Where(Restrictions.Not(
                                Restrictions.Conjunction()
                                            .Add(() => tabB.X == null)
                                            .Add(() => tabB.Y == null)
                             ))
                       .List<TableA>();

只有一个参数的网址将定位到

RewriteEngine on
RewriteRule ^en/(([^/]+)/)(([^/]+)/)?(([^/]+)/)?$ example.php?param1=$2&param2=$4&param3=$6

因此,不存在的参数将为空。