2010-02-08 72 views
2

有人能帮助我制定了以下的.htaccess规则:自动重定向请求从/目录名称为/目录名/

如果传入的请求包含像

www.example.com/dirname 

自动顶级目录路径将它转换为

www.example.com/dirname/ 

但只适用于顶级,所以请求

www.example.com/dirname/subdirname 

保持未变。

我需要mod_rewrite吗?还是有更简单的方法?

+0

他为什么不呢?我可以想到几个用例。 – aefxx 2010-02-08 00:27:36

+0

我需要在更大的mod_rewrite设置中进一步解析'/ dirname /'并且想要简化请求,所以我没有更多的规则来编写。 – 2010-02-08 00:29:15

回答

1

如果指令数量足够小,可以使用Alias指令。否则,你将不得不使用mod_rewrite和一些简单的规则。

RewriteRule ^([^/]+)$ /$1/ [L] 
+0

干杯,这是诀窍! – 2010-02-08 00:30:52

+0

咦?对不起,我以为我有。也许我点了两次。 – 2010-02-08 00:36:09

+0

很高兴我能帮到你。 :D – aefxx 2010-02-08 00:36:58

0

要重写URL,你需要使用mod_rewrite。在这种情况下,我会选择在初始/之后寻找任何不是? . # /的东西,然后在其后添加/。也许其他一些SO会指出我正在离开的其他令牌。

RewriteRule ^([^/./?//#]+)?$ $1/ [L]