我是htaccess的新手,我尝试使用DirectoryIndex
来修改我的img
文件夹的默认页面,这样当用户尝试输入我的img
文件夹时,我可以重定向到我的主页。
在我的img文件夹的.htaccess文件中
// my site folder locates in htdocs/lserev
DirectoryIndex /lserev/index.php
当我尝试输入类似localhost/lserev/img
的内容时,我没有重定向到我的index.php
,相反,网址仍为localhost/lserev/img
,但页面内容是index.php
没有正确渲染(没有图像,没有css)。
答案 0 :(得分:0)
在Root文件夹.htaccess文件中编辑并使用RedirectMatch选项。没有必要有一个单独的.htacces文件驻留在任何其他文件夹中进行重定向。
RedirectMatch 301 ^/imagefolder/$ http://mydomain/
请注意,对于任何无法使用此功能的人,您还需要在顶部的.htaccess文件中添加以下内容,以使此选项正常工作
RewriteEngine On
并在Apache配置文件中确保特定Web文件夹或根文件夹的(AllowOverride None)更改为(All),以使RewriteEngine能够接受.htaccess文件中的选项。
AllowOverride All
最后你需要将(重写)模块加载到Apache服务器。对于Linux,请使用以下命令。对于其他平台,请参阅文档。
sudo a2enmod rewrite
或者,要从任何文件夹重定向,PHP索引页面可以与重定向到主页一样好。此索引页面可以放在您不希望浏览的任何文件夹中,或者想要重定向到主页或任何其他页面。
<?php
header("Location: http://myhomepage.php");
?>
您还可以通过编辑Apache配置文件并删除索引来禁用文件夹浏览。这条线可能看起来像这样
Options Includes Indexes FollowSymLinks MultiViews
删除(索引)并重新启动apache服务器。
如果您现在尝试浏览文件夹,则会收到(禁止)消息。
答案 1 :(得分:0)
在.htaccess
档案&amp;将它放在服务器上的lserev/img/
目录中:
Options -Indexes
RewriteCond %{REQUEST_URI} !(\.gif|\.jpg|\.png)$ [NC]
RewriteRule ^(.*)$ /index.php [NC,L,R=301]
Options -Indexes
禁用目录索引。
然后,RewriteCond
会检查请求网址中是否包含.gif
,.jpg
或.png
。如果没有那些?好吧,下一个RewriteRule
开始将请求重定向到您的index.php
页面。