mod_rewrite从任何页面重定向到主页

时间:2011-11-04 02:40:53

标签: php html .htaccess mod-rewrite

如果有人转到任何文件夹,我需要重定向,例如http://site.com/images/http://site.com/imageshttp://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。

1 个答案:

答案 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中介绍。