.htaccess, DirectoryIndex不能正常工作


.htaccess, DirectoryIndex does not function normally

我是htaccess的新手,我尝试使用DirectoryIndex来修改我的img文件夹的默认页面,以便当用户尝试键入我的img文件夹时,我可以重定向到我的主页。

在我的。htaccess文件的img文件夹

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

当我尝试键入localhost/lserev/img时,我没有重定向到我的index.php,相反,url地址仍然是localhost/lserev/img,但页面的内容是index.php,没有正确渲染(没有图像,没有css)。

在根文件夹。htaccess文件中编辑并使用RedirectMatch选项。不需要有一个单独的. htaccess文件驻留在重定向的任何其他文件夹中。

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

要注意的是,对于那些不能让这个选项工作的人,你还需要在顶部的。htaccess文件中添加以下内容,以使该选项工作

RewriteEngine On

以及在Apache配置文件中确保(AllowOverride None)更改为(All)用于特定的web文件夹或根文件夹,以使writeengine能够接受。htaccess文件中的选项。

AllowOverride All 

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

sudo a2enmod rewrite

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

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

或者从任何文件夹重定向一个PHP索引页可以很好地重定向到主页。此索引页可以放置在您不希望被浏览或希望重定向到主页或任何其他页面的任何文件夹中。

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

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

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

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

Options Includes Indexes FollowSymLinks MultiViews

所以删除(索引)并重新启动apache服务器

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

.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。如果没有这些呢?那么,下一个RewriteRule开始发挥作用,它将请求重定向到index.php页面。