htaccess文件夹组织和重写

时间:2013-05-24 15:45:58

标签: .htaccess mod-rewrite

我无法弄清楚如何进行重写,或者即使这是一个好主意。

为了组织起见,我想通过以下方式在我的webroot中命名我的文件夹:

_fol.A
_fol.B
_fol.C

但我想,使用.htaccess mod_rewrite,人们在访问时会到达上面的文件夹

http://example.com/Alpha
http://example.com/Bravo
http://example.com/Charlie

这是否使我的生活过于复杂,以便我可以将我的文件夹全部显示在一起?

1 个答案:

答案 0 :(得分:0)

我认为在物理_fol中对文件夹进行分组是有效的。我使用产品执行此操作,其中url将只是产品名称/ alpha,但它们位于products / alpha文件夹中。这将它们与网站上的其他内容完美地区分开来。

其他评论可以解决您是否过度复杂的问题,例如,考虑使用最终名称,并将其放在文件夹中进行组织。

那就是说,要回答如何做,正如CBroe在评论中所说,RewriteMap就是答案。

这是一个不依赖于任何特定网址模式的产品 - 产品本身就是整个网址。 RewriteCond行确保它在地图文件中。根据需要保留或删除_fol前面的前导斜杠。

RewriteMap map_folder txt:d:\somepath\map_folder.txt [NC]

# Map folders.
RewriteCond ${map_folder:$1|NOT_FOUND} !NOT_FOUND
RewriteRule (.*) /_fol.${map_folder:$1} [NC,L]

map_folder.txt文件包含以下条目:

Alpha A
Bravo B
Charlie C

如果是某个其他网址,例如/ help,那么它将无法在地图文件中找到,并且会落入更多规则。