我发现前面的例子有一个问题,那就是:
ErrorDocument 403 /notfound.html
我的网站上有一个存储图像的目录,比如在domain.com/images上
我想如果有人试图访问目录的URL,他们会被重定向到网站的主页.我的问题是,如上所述,浏览器中的URL将保留domain.com/images,然后主页将加载,但主页将引用它无法从该URL访问的样式表. (这是有道理的 – 403应该显示错误信息).
然后我尝试研究如何将403错误重定向到另一个URL,并且一些网站说你不能做302或301 – 你错过了这一点:403是错误,而不是重定向.
但我找到了办法.这是/ images目录中的.htaccess文件:
Options -Indexes
ErrorDocument 403 /images/403.php
RewriteEngine on
RewriteRule ^403.php$/index.php [R=301]
所以基本上第一行阻止了目录列表.
第二行表示对于“权限被拒绝”(即403错误,这是第一行给出的),该站点应加载文件“/images/403.php”.但是你实际上并不需要在该目录中创建任何403.php文件,因为…
第三行打开您的重定向引擎
第四行说如果用户试图加载页面403.php(即在这个.htaccess文件所在的“/ images”目录中),那么应该使用301(永久)重定向将它们重定向到/index.php – 这是根目录(即主页)的索引,而不是/ images子目录的索引(事实上,“/ images”中确实没有索引).
因此 – 如何使用301(永久)重定向将403重定向到另一个URL(或者,您也可以尝试302临时重定向).
本文介绍了如何通过.htaccess文件配置来解决403 Forbidden错误,并实现将403错误重定向到网站主页。通过设置ErrorDocument、RewriteEngine和RewriteRule,可以实现403错误时的301重定向,从而避免样式表加载失败的问题。这种方法确保了当用户尝试访问受保护的目录时,他们会被正确地引导到主页,同时保持URL的正确重定向。
2476

被折叠的 条评论
为什么被折叠?



