动态DirectoryIndex(Regex DirectoryIndex?)

时间:2015-04-30 20:53:55

标签: apache mod-rewrite directoryindex

在Apache中,是否可以使用动态/正则表达式DirectoryIndex指令?

普通DirectoryIndex可以:

server/DIRECTORY1 --> server/DIRECTORY1/index.html
server/DIR1/DIR2  --> server/DIR1/DIR2/index.html
...
etc

但我将如何完成:

server/DIRECTORY1 --> server/DIRECTORY1/DIRECTORY1.html
server/DIR1/DIR2  --> server/DIR1/DIR2/DIR2.html
...
etc

我想要这个,因为我在编辑器中打开了很多索引文件,并且很难区分这些标签,因为它们都是名为index。

  • 我更喜欢在httpd.conf
  • 网站范围内工作的内容
  • 我希望保持mod_dir具有/不带尾随斜杠的检测。
  • 我使用mod_rewrite的尝试往往会弄乱最后的URI变量:(

1 个答案:

答案 0 :(得分:2)

您可以将此代码放入httpd.conf mod_rewrite 块)

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{DOCUMENT_ROOT}/$1/$2/$2\.html -f
RewriteRule ^/?(.+?)/([^/]+)/?$ /$1/$2/$2.html [L]

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{DOCUMENT_ROOT}/$1/$1\.html -f
RewriteRule ^/?([^/]+)/?$ /$1/$1.html [L]