0

在我工作的网站上,有一个包含以下文件的目录:

abc.com/parts/df/df001/df001.html

df 数字序列中大约有 800 个。我希望能够使用这样的链接:

abc.com/parts/df/df001/

我知道您可以使用 defaultIndex 将默认页面设置为 index.html 以外的其他内容,但是您可以为特定目录执行此操作吗,例如 /parts/df 的所有子目录映射到同名的 HTML 文件子文件夹?

或者,更好的是,我想使用这样的 URL:

abc.com/parts/df001(即使文件位于 abc.com/parts/df/df001/df001.html)

我认为这可能与 mod_rewrite 和正则表达式有关,但我无法弄清楚。

4

1 回答 1

0

查看Apache HTTPD 文档- 您要查找的指令称为DirectoryIndex。您可以定义的上下文server config, virtual host, directory, .htaccess- 但同时您(从文档中)了解到该指令不支持任何类型的正则表达式。因此 mod_rewrite 是你需要的。

关于正则表达式 - 我会说你可以这样使用:

RewriteRule ^parts/df/df(\d+)/$ parts/df/df$1/df$1.html [L,R=301]

放置在 parts/df(或任何上层文件夹)或 vhost 配置中的 .htaccess 中。有关详细信息,请参阅文档

于 2012-09-13T22:01:50.720 回答