我想使用.htaccess
来阻止目录列表
我在 / location / 中有页面,但我没有索引文件。所以我想重定向到 /location/about.php 。
有没有办法做到这一点,而不创建 index.html 并将请求重定向到那个?
感谢您的帮助!
答案 0 :(得分:9)
如果您要求代替'index.html'的文件,请参阅“DirectoryIndex”告诉它使用哪些文件代替'index.html':
DirectoryIndex about.php index.html
Options –Indexes
...如果您尝试将所有目录重定向到单个页面,那么我会欺骗并执行以下操作,这将主要执行您要求的操作:
Options +Indexes
IndexOptions +SuppressHTMLPreamble
IndexIgnore *
HeaderName /includes/header.html
ReadmeName /includes/readme.html
...并使用您想要的任何消息(或包含元重定向)设置/includes/header.html,并将/includes/readme.html设为空白。
答案 1 :(得分:6)
我知道这是一个较老的线程,但我只需要实现类似的东西并按以下方式执行:
Options -Indexes
ErrorDocument 403 /location/about.php
基本上,Options -Indexes
会阻止目录列表,ErrorDocument 403
会重写默认的403消息。
答案 2 :(得分:0)
以下是您需要的直接链接:
http://www.webweaver.nu/html-tips/web-redirection.shtml
如果您需要更高级的东西来处理参数或需要将旧网址重新映射到新网址,您可以使用网址重写:
http://corz.org/serv/tricks/htaccess2.php
阻止目录列表(或返回空目录列表):
http://www.besthostratings.com/articles/prevent-directory-listing.html
答案 3 :(得分:0)
更改DirectoryIndex
和Options
有效,但使用mod_alias意味着您无需在嵌套目录中将其更改回来。
Redirect 303 /location/ /location/about.php