0

我正在创建一个新的静态网站。我有folder1哪些folder2是远程 Web 服务器上的文件夹。这两个文件夹中的每一个都可能包含 HTML 文件。

我希望发生以下事情:

  1. 当他键入 www.domin.com/folder1/ 时 --> 显示 folder1 文件夹下的 index.html 文件
  2. 当他输入 www.domin.com/folder1 --> 错误
  3. 当他键入 www.domain.com/folder1/file1/ -> 显示 /folder1/file1.html 文件
  4. 当他输入 www.domain.com/folder/file.html 或 www.domain.com/folder/file --> 显示错误:这样的文件不存在

唯一允许的 URL 是:

  • domain.com/
  • domain.com/about-file/
  • domain.com/folder1/
  • domain.com/folder1/file/

以下解决方案不起作用:当我键入 www.domain.com/folder/ 或 /folder/index.html 时,它会显示 dosnotexists.html 错误。

RewriteEngine on
RewriteBase /

RewriteRule ^([^/]+)/$ $1/index.html [QSA,L]  # rule 1

RewriteRule ^([^/]+)/([^/]+)/$ $1/$2.html [QSA,L] # rule 3

RewriteRule ^[^/]+(/[^/]+(\.html)?)?$ doesnotexists.html [L] # rule 2 and 4
4

1 回答 1

0

好吧,如果/folder/index.html/folder/不存在,它应该显示 404。你的意思是 /folder* 1 */index.html 吗?您的 ErrorLog ${APACHE_LOG_DIR}/error.log 对访问有何看法?是否还有其他错误?

于 2013-06-03T12:52:25.917 回答