0

我已将“index.html”文件放入每个文件夹以创建我的页面。

例如 www.mysite.com/volunteers/jasmine/ 将显示 jasmine 的页面,即文件夹“jasmine”中的 index.html。并且“志愿者”文件夹不包含任何“index.html”文件,但是当它在 URL 中键入如下 mysite.com/volunteers/ 时,它会在标题“/志愿者索引”下显示志愿者文件夹中的所有文件夹

404 错误文档仅有助于重定向 mysite.com/volunteers 而不是 mysite.com/volunteers/ (最后包含斜杠)

请帮我摆脱这种情况。

先感谢您!

4

2 回答 2

1

在 www.mysite.com 的主文件夹中创建一个名为 .htaccess 的文件

在该文件的顶部添加这一行并保存:

IndexIgnore * 

假设您使用的是 Apache Web 服务器,如果配置为检查 .htaccess(大多数情况下,尤其是在共享主机上),它将读取此规则并阻止对您的目录进行索引。

请记住该文件名为 .htaccess(以点开头,结尾没有文件后缀)


这里有一些东西可以给你一些想法,如果找不到文件或直接(-f 或 -d),你可以测试规则,然后执行重定向到你选择的文件:

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/volunteers/$1/$2 !-f
RewriteCond %{DOCUMENT_ROOT}/volunteers/$1/$2 !-d
RewriteRule ^volunteers/ /pageOfYourChoice.html? [R=301,L]

服务器规则有时是试验/错误,这就是为什么我与 .htacess 技巧共享该 URL,以便您确定什么是您想要实现的最佳方案。在这里,您可能想删除 $2 并假设所有内容都是志愿者,但不确定您如何设置您的应用程序以及您去了多少个目录。这是试验/错误,.htaccess 的好处是不需要服务器重新加载/重新启动,所以尝试、测试、重复。

于 2012-07-15T12:32:25.423 回答
0

其他答案中有关 Apache 和 .htaccess 文件的信息是正确的,但如果您使用 Microsoft IIS 作为 Web 服务器而不是 Apache,则需要禁用目录浏览。请参阅此处的信息:

http://technet.microsoft.com/en-us/library/cc731109(v=ws.10 )

要考虑的另一件事是,您可以简单地为具有 META REFRESH 标记的文件夹创建一个 INDEX.HTML 页面,以将用户推送到其他地方。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>Untitled Document</title>
  </head>
  <meta http-equiv="refresh" content="0;URL=/index.html" />
  <body>
  </body>
</html>

您也可以在 .htaccess 文件中进行重定向,但对于大多数用户来说,创建 HTML 文件更快更容易。

于 2012-07-15T12:36:59.617 回答