linux – 使用.htaccess重定向403错误
作者:互联网
我想使用.htaccess重定向任何403,但它似乎不起作用.
Options +FollowSymlinks
RewriteEngine on
ErrorDocument 403 notfound.html
RewriteRule notfound.html
所有帮助赞赏.
谢谢
吉恩
解决方法:
我发现前面的例子有一个问题,那就是:
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,linux,http-status-code-403 来源: https://codeday.me/bug/20190827/1736600.html