如果有人转到任何文件夹,我需要重定向,例如http://site.com/images/
或http://site.com/images
到http://site.com
。
除非他去提交,例如http://site.com/images/index.php
在这种情况下,它不会重定向
现在我用
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (.*)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]
但我认为它不完美,因为例如如果有人来http://www.site.com则不起作用。
请记住,由于服务器配置,我需要在每个文件夹中放置.htaccess。
答案 0 :(得分:0)
我相信你要找的是 -f 标志:
RewriteCond %{REQUEST_FILENAME} !-f
请参阅http://httpd.apache.org/docs/current/mod/mod_rewrite.html
如果您只想阻止某人获取该文件夹中的文件列表,您可能需要考虑改为添加:
Options -Indexes
如果给定目录中没有索引页面,这将告诉apache不显示目录列表。
请参阅http://httpd.apache.org/docs/2.2/mod/core.html#options
最后要注意的是,如果您不熟悉.htaccess如何工作,apache会扫描当前文件夹及其任何父文件夹 - 您只需在网络中添加一个.htaccess文件就可以了http://site.com的root 。这已在另一个问题here中介绍。