在我工作的网站上,有一个包含以下文件的目录:
abc.com/parts/df/df001/df001.html
df数字序列大约有800个。我希望能够使用这样的链接:
abc.com/parts/df/df001 /
我知道您可以使用defaultIndex将默认页面设置为index.html以外的其他页面,但是您可以针对特定目录执行此操作,以便/ parts / df的所有子目录映射到HTML文件与子文件夹同名?
或者,更好的是,我想使用这样的网址:
abc.com/parts/df001(尽管该文件位于abc.com/parts/df/df001/df001.html)
我认为这可能与mod_rewrite和正则表达式有关,但我无法弄明白。
答案 0 :(得分:0)
查看Apache HTTPD documentation - 您要查找的指令名为 DirectoryIndex 。您可以使用server config, virtual host, directory, .htaccess
给出的上下文定义 - 但同时您(从文档中)了解到该指令不支持任何类型的正则表达式。因此mod_rewrite就是你所需要的。
关于正则表达式 - 我会说你可以这样使用......
RewriteRule ^parts/df/df(\d+)/$ parts/df/df$1/df$1.html [L,R=301]
要放在part / df(或任何上层文件夹)中的.htaccess中,要么放在vhost配置中。有关详细信息,请参阅documentation。