0

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

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

_fol.A
_fol.B
_fol.C

但我想,使用 .htaccess mod_rewrite,人们在访问时可以访问上述文件夹

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

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

4

1 回答 1

0

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

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

也就是说,正如 CBroe 在评论中所说,回答如何做到这一点RewriteMap就是答案。

这是一个不依赖于任何特定 url 模式的产品 - 产品本身就是整个 url。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

如果它是其他一些 url,比如 /help,那么它不会在地图文件中找到,并且会通过进一步的规则。

于 2013-05-24T16:23:22.103 回答