2014-06-17 96 views
0

我是新来htaccess的,我尝试使用DirectoryIndex修改默认页我img文件夹,这样当用户尝试键入我的img文件夹,我可以重新直接到我的主页。的.htaccess,DirectoryIndex的不正常功能

在我的文件夹img

// my site folder locates in htdocs/lserev 
DirectoryIndex /lserev/index.php 

我的.htaccess文件当我尝试像localhost/lserev/img输入一些东西,我没有再直接向我index.php,相反,URL地址仍是localhost/lserev/img,但该页面的内容为index.php,但没有正确显示(无图像,无CSS)。

回答

0

在您的根文件夹.htaccess文件中编辑并使用RedirectMatch选项。没有必要有一个独立的.htacces文件驻留在任何其他文件夹中进行重定向。

RedirectMatch 301 ^/imagefolder/$ http://mydomain/ 

只是要注意的人谁不能得到这个工作,你也将需要添加的.htaccess中顶部此选项起作用

RewriteEngine On 

,并在Apache配置文件确保(AllowOverride None)更改为(全部)用于特定Web文件夹或根文件夹,以使RewriteEngine接受.htaccess文件中的选项。

AllowOverride All 

最后,您需要将(重写)模块加载到Apache服务器。对于Linux使用以下命令。对于其他平台,请参阅文档。

sudo a2enmod rewrite 

================

================

备选地重定向从任何文件夹中,PHP索引页面都可以很好地重定向到主页。此索引页面可以放置在您不希望浏览或想要重定向到主页或任何其他页面的任何文件夹中。

<?php 

header("Location: http://myhomepage.php"); 

?> 

================

================

你也可以通过编辑Apache配置文件并删除索引来禁用文件夹浏览。该行可能看起来像这样

Options Includes Indexes FollowSymLinks MultiViews 

so remove(Indexes)and restart apache server。

如果您现在尝试浏览文件夹,您将收到(禁止)消息。

+0

确实有效。我们都做到了。但它意味着为每个目录手动创建这样的文件。 – JakeGould

+0

如果您拥有数百个文件夹,这将是一件痛苦的事情,这是正确的,否则只需执行一次索引页并将其复制并粘贴到您不想浏览的其他文件夹中即可。 – Tasos

+0

不错的工作!@Tasos –

0

.htaccess文件&地方它lserev/img/目录中试试这个服务器上:

Options -Indexes 

RewriteCond %{REQUEST_URI} !(\.gif|\.jpg|\.png)$ [NC] 
RewriteRule ^(.*)$ /index.php [NC,L,R=301] 

Options -Indexes禁用目录索引。

然后RewriteCond检查是否请求的URL没有.gif.jpg.png在URL中。如果它没有那些?那么,下一个RewriteRule会发挥作用,将请求重定向到您的index.php页面。