我无法弄清楚如何进行重写,或者即使这是一个好主意。
为了组织起见,我想通过以下方式在我的webroot中命名我的文件夹:
_fol.A
_fol.B
_fol.C
但我想,使用.htaccess mod_rewrite,人们在访问时会到达上面的文件夹
http://example.com/Alpha
http://example.com/Bravo
http://example.com/Charlie
这是否使我的生活过于复杂,以便我可以将我的文件夹全部显示在一起?
答案 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,那么它将无法在地图文件中找到,并且会落入更多规则。